Cài đặt wordpress trên Amazon Linux

Cài đặt wordpress trên Amazon Linux

Chào các bạn !

Hôm nay chúng ta sẽ tiếp tục thực hiện cài đặt WordPress trên EC2 Instance. Mình làm nên blog này bằng wordpress và tận dụng tất cả các services mà Amazon cho sử dụng miễn phí trong vòng 1 năm ( Free Tier ) như là EC2 , RDS , ELB , Auto Scalling , Amazon S3 , Elastic Cache , Route 53 , Cloudwatch . Đây có lẽ là điều tuyệt vời nhất mà Amazon giúp mọi người có cơ hội tiếp xúc với công nghệ của họ , cũng như làm blog , website bán hàng  v.v với chi phí bắt đâu là 0 đồng như mình 🙂 . Nhưng mọi người lưu ý là free tier thì vẫn có giới hạn của nó nên đừng để bị trừ tiền một cách oan uống nhé . Ở những bài viết khác mình sẽ giúp các bạn làm cách nào để có thể quản lý tài chính 1 cách tốt nhất với AWS . Và giờ thì chúng ta sẽ bắt đầu với việc cài đặt wordpress đã !

Note : 1 vài lưu ý trước khi bước vào thực hiện cài đặt đó là bạn nên kiểm tra lại security group trên EC2 instance xem đã allow traffic http chưa ?

Cài đặt wordpress 

Dowload và unzip wordpress 

1.Dowload bản mới nhất của wordpress bằng câu lệnh sau

[ec2-user ~]$ wget https://wordpress.org/latest.tar.gz
--2013-08-09 17:19:01--  https://wordpress.org/latest.tar.gz
Resolving wordpress.org (wordpress.org)... 66.155.40.249, 66.155.40.250
Connecting to wordpress.org (wordpress.org)|66.155.40.249|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4028740 (3.8M) [application/x-gzip]
Saving to: latest.tar.gz

100%[======================================>] 4,028,740   20.1MB/s   in 0.2s

2013-08-09 17:19:02 (20.1 MB/s) - latest.tar.gz saved [4028740/4028740]

2. Unzip and unarchive the installation package .

[ec2-user ~]$ tar -xzf latest.tar.gz
[ec2-user ~]$ ls
latest.tar.gz  wordpress

Tạo MySQL user và database 

Bạn sẽ cần phải tạo một database là nơi để lưu trữ thông tin như là blog post entries , user comment …

1. Start the MySQL server

[ec2-user ~]$ sudo service mysqld start

2. Log in vào MySQL server với tài khoản root

[ec2-user ~]$ mysql -u root -p
Enter password:

3. Tạo user và password cho MySQL database của bạn .

mysql> CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_password';
Query OK, 0 rows affected (0.00 sec)

4. Tạo database

mysql> CREATE DATABASE `wordpress-db`;
Query OK, 1 row affected (0.01 sec)

5. Gán full quyền cho wordpress-user mà bạn đã tạo trước đó .

mysql> GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
Query OK, 0 rows affected (0.00 sec)

6. Flush the MySQL privileges to pick up all of your changes.

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

7. Exit the MySQL client

mysql> exit
Bye

Tạo và chỉnh sửa wp-config.php file .

1 . Trước tiên ta sẽ tạo file backup cho file wp-config.php

[ec2-user ~]$ cd wordpress/
[ec2-user wordpress]$ cp wp-config-sample.php wp-config.php

2. Edit file wp – config.php . Bạn có thể dùng text editor nào mà bạn thích ( nano hoặc vim ) . Mình thì lại quen dùng nano hơn .

[ec2-user wordpress]$ nano wp-config.php

a. Tìm dòng defines DB_NAME và thay đổi database_name_here sang tên database mà bạn đã tạo trước đó . Ở bước 4 bên trên mình đặt là  wordpress-db 

define('DB_NAME', 'wordpress-db');

b. Tìm dòng defines DB_USER và thay đổi username_here sang tên user mà bạn đã tạo ở bước 3 bên trên .

define('DB_USER', 'wordpress-user');

c. Tìm dòng definces DB_PASSWORD và đổi password_here sang pass mà bạn đã tạo ở bước 3 bên trên .

define('DB_PASSWORD', 'your_strong_password');

d. Tìm phần Authentication Unique Keys and Salts . KeySalts values sẽ cung cấp một lớp mã hóa cho browser cookies mà wordpress users store trên máy của họ . Bạn vào trang https://api.wordpress.org/secret-key/1.1/salt/  lấy bộ key sau đó sửa đoạn key mặc định .

define('AUTH_KEY',         ' #U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-');
define('SECURE_AUTH_KEY',  'Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg');
define('LOGGED_IN_KEY',    'ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3');
define('NONCE_KEY',        'P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj');
define('AUTH_SALT',        'C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h');
define('SECURE_AUTH_SALT', 'd!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv');
define('LOGGED_IN_SALT',   ';j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/');
define('NONCE_SALT',       '-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG');

Note : lưu ý là đoạn trên mình lấy ví dụ thôi . Đừng lấy để điền vào file của bạn nhé 🙂

e. Save file và exit khỏi text editor.

Move phần cài đặt wordpress đến Apache document root

  1. Ta sẽ tạo 1 folder trong document root
[ec2-user wordpress]$ mkdir /var/www/html/blog

2. Sau đó move toàn bộ file cài đặt wordpress đến thư mục blog trong document root

[ec2-user wordpress]$ mv * /var/www/html/blog

Cách để vào website của bạn sau này như sau : my.public.dns.amazonaws.com/blog

Lưu ý : Dùng public dns của bạn và thay /blog sang tên folder mà bạn tạo nhé .

Để cho phép wordpress sử dụng Permarlinks

Mặc định thì Amazon Linux không enable tính năng này . Do đó ta sẽ cần phải chỉnh sửa trong httpd.conf .

  1. Mở file httpd.conf bằng nano hoặc vim .
[ec2-user wordpress]$ sudo vim /etc/httpd/conf/httpd.conf

2. Tìm đoạn <Directory "/var/www/html">

<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

3. Sửa AllowOverride None thành AllowOverride All

AllowOverride All

Note : Có rất nhiều dòng AllowOverride do đó bạn cần phải tìm và sửa đúng trong phần

<Directory “/var/www/html”>

4. Save và exit text editor

Sau khi làm nuột tất cả các bước trên các bạn thử mở trình duyệt lên sau đó nhập trang của bạn vào để xem kết quả nhé !

http://my.public.dns.amazonaws.com/blog

Được như bên  dưới là ngon này 🙂Cài đặt wordpress trên Amazon Linux

Ở bài sau mình xin hướng dẫn các bạn sử dụng service RDS dùng MySQL database . Đây cũng là 1 trong những services free tier . Thay vì database phải chạy trên cùng apache webserver khiến server chạy một cách nặng nhọc thì ta sẽ có một nơi chứa database riêng biệt giúp giảm tải cho server và cũng sẽ giảm thiểu mọi công việc maintain như backup , patching …

Xem tiếp bài trong series

Bài kế tiếp  : Hướng dẫn tạo MySql database trên services RDS

Bài trước  : Cài đặt MySQL và phpMyAdmin trên Amazon Linux

Share this post

Leave a Reply

Your email address will not be published. Required fields are marked *