- Để cài wordpress trước tiên cài mysql:
sudo apt update
sudo apt install mysql-server
sudo apt mysql_secure_installation
sudo apt systemctl start mysql # để khởi động lại service
sudo apt systemctl enable mysql # để khởi động nó mỗi khi boot lại máy
- Cấu hình mysql cho wordpress (Thực ra là tạo database cho nó):
sudo mysql -u root -p # đăng nhập bằng root, không có pass, nếu bạn dùng tài khoản khác thì sau -p không phải là pass mà là database bạn muốn use :). Tài khoản là chung cho tất cả database
CREATE DATABASE wordpress; # tên khác cũng được
CREATE USER 'wpuser'@'%' identified by 'your_password'; # %: tất cả các host đều đăng nhập vào được, kể cả remote, localhost: chỉ máy chủ đăng nhập được. Dùng lại lệnh này để đổi password, nhớ phải dùng root để đổi (đăng nhập vào root)
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
FLUSH PRIVILEGES;
EXIT;
- Cài apache server, php và các :
sudo apt install apache2
sudo apt install php php-mysql php-curl php-json php-cgi php-mbstring php-xml php-zip
sudo systemctl restart apache2 # For Ubuntu/Debian, nhớ khởi động lại để cài đặt hiệu nghiệm
- Tải wordpress về, giải nén vào mục /var/www/html và thay owner, group và permission:
wget https://wordpress.org/latest.tar.gz
tar -xvzf latest.tar.gz
sudo mv wordpress /var/www/html/
# thay permission và owner cho apache, www-data là
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
- Config apache:
Tạo virtual host file:
sudo nano /etc/apache2/sites-available/wordpress.conf
Thêm đoạn mã sau vào:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/wordpress
ServerName example.com
<Directory /var/www/html/wordpress/>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Enable the site and rewrite module, khởi động để có hiệu quả:
sudo a2ensite wordpress
sudo a2enmod rewrite
sudo systemctl restart apache2
- Mở cổng để access:
sudo ufw allow 3306
- thay bind-address thành 0.0.0.0 trong /etc/mysql/mysql.conf.d/mysqld.cnf để chấp nhận tất cả các ip access tới chứ không chỉ 127.0.0.1 nữa. Có thể giới hạn các ip mong muốn. Khởi động lại mysql bằng sudo systemctl restart mysql để có tác dụng.
Có thể kiểm tra các user có thể đăng nhập vào mysql và host mà nó chấp nhận cho đăng nhập (% bằng tất cả các host, localhost bằng máy chủ only):
SELECT User, Host FROM mysql.user;
Có thể update host cell để gỡ lỗi connect remote.
- Cài Https:
Tải certbot về:
sudo apt install python3-certbot-apache
chạy lệnh sudo certbot –apache để config.