Cài đặt Wordpress trên LAMP
- Cấu trúc thư mục của Vhost apache trong linux
Trên apache server, mỗi website sẽ có một thư mục chứa mà nguồn riêng, hay còn gọi là thư mục gốc. nhiệm vụ của server là dựa vào domain đang request để gọi tới đúng thư mục gốc.
- Ta sẽ tạo cấu trúc cho website được đặt trong /var/www/[your-domain]
- Đổi quyền folder cho người dùng hiện tại, ta dùng lệnh:

- Truy cập vào file config của apache để chỉnh sửa đường dẫn tới vhost vừa tạo ta dùng lệnh:

ServerName longninja
ServerAlias www.longninja
ServerAdmin webmaster@localhost
DocumentRoot /var/www/longninja
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Thay những vị trí đánh dấu là domain của bạn. sau đó save file lại bằng nút ESC -> :wq -> ENTER
- Tiếp theo, ta sử dụng a2ensite để kích hoạt virtual host vừa tạo:

- Ta cũng cần tắt website mặt định của apache, ta nhập lệnh:

Sau đó reload lại dịch vụ để xác nhận các thay đổi

Sau đó ra thử tạo một trang html trong thư mục vhost để xem các thay đổi đã chạy thành công chưa. Ta sẽ tạo file index.html bằng lệnh:

Sau đó nhập ip vào thanh url trên trình duyệt để kiểm tra kết quả.

- 2. Tạo database và user cho wordpress
Ta tạo riêng database và user cho wordpress có quyền quản lý và lưu trữ:
mysql –u root –p

- Sau khi nhập password và truy cập thành công, ta tiến hành tạo database:

Tiếp theo là tạo user “wordpress” riêng để quản lý cho database đó:

Lưu ý: mật khẩu phải có chữ in hoa, in thường, số.
- Cấp quyền cho user vừa tạo quản lí database wordpress:

- Xác nhận các thay đổi vừa rồi và thoát khởi console của mysql :
exit;

- 3. Cài đặt các phần mở rộng của php
- Để có thể chạy được wordpress, ta cần cài đặt thêm các thư viện của php:
Sudo apt update
Sudo apt install –y php-curl php gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
- Restart lại dịch vụ của apache để xác nhận các thay đổi.
Sudo systemctl restart apache2
- 4. Cấu hình để apache cho phép ghi đè file .htaccess
- Hiện tại, việc sử dụng file .htaccess đã bị vô hiệu hóa. Wordpress và nhiều plugin wordpress sử dụng tệp này để điều chỉnh trong thư mục đối với hành bi của máy chủ web.
Sudo vim /etc/apache2/sites-available/longninja.conf
- Ta thêm các dòng sau vào file để cho phép ghi đè file.
AllowOverride All
</Directory>

- ở vị trí màu đỏ thay đổi theo vhost bạn đã cài ở trên.
Tiếp theo bật module Rewrite cho wordpress
sudo a2enmod rewrite
Kiểm tra lại các config xem đã đúng cấu trúc hay chưa:
sudo apache2ctl configtest

- nếu hiện kết quả Syntax OK nghĩa là bạn đã cài đặt đúng cú pháp.restart lại dịch vụ để áp dụng các thay đổi trên.
Sudo systemctl restart apache2
- Cài đặt Wordpress
- Tải và cài wordpress
- Ta tải bản mới nhất của wordpress tại thư mục /tmp:
Cd /tmp
Curl -O https://wordpress.org/latest.tar.gz
- Tiến hành giải nén thư mục wordpress vừa tải
Tar xzvf wordpress-5.8.2.tar.gz
- Tạo một tệp .htaccess trong thư mục wordpress
Touch /tmp/wordpress/.htaccess
- Copy file config từ mẫu có sẵn trong thư mục wordpress để sử dụng sau này:
Cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
- Ta sẽ tạo thư mục upgrade để wordpress không gặp lỗi khi tự động cập nhật:
Mkdir /tmp/wordpress/wp-content/upgrade
- Sau đó copy thư mực đó vào thư mục vhost đã tạo bên trên:
Sudo cp –a /tmp/wordpress/. /var/www/longninja
- Cấu hình wordpress
- Đầu tiên, ta cần cấp quyền cho apache sử dụng thư mục vhost trên. Apache có tên user và group user là www-data:
sudo chown –R www-data:www-data /var/www/longninja

- Tiếp theo, ta gắn quyền 750 cho thư mục và 640 cho các file bằng 2 lệnh sau:
Sudo find /var/www/longninja/ -type d –exec chmod 750 {} \;
Sudo find /var/www/longninja/ -type f –exec chmod 640 {} \;
- Ta sẽ sử dụng trình tạo key tự đọng để thêm vào trong file config.
Curl –s https://api.wordpress.org/secret-key/1.1/salt/
- Mở file config lên và ghi đè vào nội dung key vào file:
Sudo vim /var/www/longninja/wp-config.php


Tiếp theo, ta sẽ thay thông tin database vào file config này:

Thay đổi các giá trị theo cài đặt phía trên. Sau đó lưu file :wq -> Enter
- Hoàn thành các thiết lập cuối

- Đăng nhập để xác nhận thành công.

- Kết quả cuối cùng:
