Hướng dẫn cài đặt LAMP trên Ubuntu 18

0
243

Cài đặt LAMP trên Ubuntu 18 – LAMP là viết tắt của Linux, Apache, MariaDB/MySQL và PHP để tạo nên một môi trường máy chủ Web giúp triển khai các website trên môi trường Internet.

Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cài đặt LAMP trên Ubuntu 18.04.

Hướng dẫn cài đặt LAMP trên Ubuntu 18

1. Yêu cầu

Để làm theo hướng dẫn này, bạn cần có một VPS sử dụng HĐH Ubuntu 18.04. Nếu bạn chưa có VPS hãy tham khảo ngay các gói Cloud VPS của HOSTVN.

ĐĂNG KÝ NGAY

2. Cài đặt LAMP trên Ubuntu 18

2.1. Bước 1: Cài đặt Apache

a. Cài đặt Apache

Để cài đặt Apache phiên bản mới nhất các bạn sẽ cần sử dụng ondrej/apache2 PPA

sudo add-apt-repository ppa:ondrej/apache2
sudo apt update
sudo apt install apache2 -y

Sau khi quá trình cài đặt hoàn tất các bạn chạy lệnh sau để khởi động Apache

sudo systemctl enable apache2 && sudo systemctl start apache2

Để kiểm tra xem Apache đã chạy hay chưa hãy sử dụng lệnh sau

sudo systemctl status apache2

Screenshot_1

Tiếp theo các bạn cần bật một số mod cần thiết như SSL, rewrite, userdir, header

sudo a2enmod rewrite
sudo a2enmod userdir
sudo a2enmod ssl
sudo a2enmod headers
sudo systemctl restart apache2

Screenshot_2

b. Cấu hình bảo mật Apache cơ bản

Đầu tiên các bạn cấu hình bảo mật cơ bản cho Apache bằng cách chỉnh sửa file /etc/apache2/conf-enabled/security.conf. Trước khi chỉnh sửa đừng quên backup lại file này bằng lệnh sau

sudo cp /etc/apache2/conf-enabled/security.conf /etc/apache2/conf-enabled/security.conf.bak

Tiếp theo các bạn chạy lần lượt các lệnh sau

sudo sed -i 's/ServerTokens OS/ServerTokens Prod/g' /etc/apache2/conf-enabled/security.conf
sudo sed -i 's/ServerSignature On/ServerSignature Off/g' /etc/apache2/conf-enabled/security.conf
sudo /bin/su -c "echo -e 'Header always append X-Frame-Options SAMEORIGIN' >> /etc/apache2/conf-enabled/security.conf"
sudo /bin/su -c "echo -e 'Header always set X-XSS-Protection: \"1; mode=block\"' >> /etc/apache2/conf-enabled/security.conf"
sudo /bin/su -c "echo -e 'Header always set X-Content-Type-Options: \"nosniff\"' >> /etc/apache2/conf-enabled/security.conf"
sudo /bin/su -c "echo -e 'Header always set Strict-Transport-Security \"max-age=31536000; includeSubDomains\"' >> /etc/apache2/conf-enabled/security.conf"
c. Cấu hình SSL

Bước tiếp theo các bạn cấu hình giao thức SSLSSLCipherSuite cho Apache. Trước khi cấu hình các bạn cần backup lại file /etc/apache2/mods-enabled/ssl.conf bằng lệnh sau

sudo cp /etc/apache2/mods-enabled/ssl.conf /etc/apache2/mods-enabled/ssl.conf.bak

Sau khi đã backup file cấu hình các bạn chạy lệnh sau để cấu hình SSL

sudo sed -i 's/SSLProtocol all -SSLv3/SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1\nSSLCipherSuite      ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256\nSSLHonorCipherOrder on\nSSLCompression      off\nSSLSessionTickets   off/g' /etc/apache2/mods-enabled/ssl.conf

Cuối cùng hãy restart lại Apache để các cấu hình có hiệu lực

sudo systemctl reload apache2

2.2. Bước 2: Cài đặt MariaDB

a. Cài đặt MariaDB

Để cài đặt MariaDB 10.4 trên Ubuntu 18.04, các bạn sẽ cần thêm MariaDB repository vào hệ thống. Trước tiên các bạn cần cài đặt software-properties-common bằng lệnh sau:

sudo apt-get install software-properties-common -y

Sau đó các bạn chạy lệnh sau để thêm Repository Key vào hệ thống

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Tiếp theo thêm repository bằng lệnh sau

sudo add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"

Để cài đặt Mariadb, hãy chạy các lệnh sau:

sudo apt update
sudo apt -y install mariadb-server mariadb-client
b. Đặt mật khẩu root MariaDB

Sau khi quá trình cài đặt hoàn tất các bạn tiến hành đặt mật khẩu root cho Mariadb bằng cách chạy lần lượt các lệnh sau

sudo mysql -u root
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mật-Khẩu-Bạn-Muốn-Đặt';
flush privileges;
exit

Thay Mật-Khẩu-Bạn-Muốn-Đặt bằng mật khẩu của bạn

Sau khi đặt mật khẩu root các bạn chạy lệnh sau để khởi động Mariadb

sudo systemctl start mariadb && sudo systemctl enable mariadb
c. Cấu hình bảo mật MariaDB

Cuối cùng tiến hành bảo mật MariaDB bằng lệnh sau

sudo mysql_secure_installation
Enter current password for root (enter for none): Nhập mật khẩu root các bạn đã đặt
Switch to unix_socket authentication [Y/n] : n
Change the root password? [Y/n] : n
Remove anonymous users? [Y/n] : Y
Disallow root login remotely? [Y/n] : Y
Remove test database and access to it? [Y/n] : Y
Reload privilege tables now? [Y/n] : Y

Để kiểm tra MariaDB đã chạy hãy chưa các bạn dùng lệnh

sudo service mariadb status

2.3. Bước 3: Cài đặt PHP-FPM

a. Cài đặt PHP-FPM

Để cài đặt PHP-FPM các bạn nên sử dụng ppa:ondrej/php PPA để có thể cài đặt phiên bản PHP-FPM mới nhất

sudo add-apt-repository ppa:ondrej/php

Tiếp theo các bạn cài đặt PHP bằng lệnh sau. Trong bài viết này HOSTVN sẽ cài đặt PHP 7.4

sudo apt update
sudo apt -y install php7.4 php7.4-fpm php7.4-ldap php7.4-zip php7.4-cli php7.4-mysql php7.4-gd php7.4-xml php7.4-mbstring php7.4-common php7.4-soap php7.4-json php7.4-curl php7.4-bcmath php7.4-snmp php7.4-pspell php7.4-gmp php7.4-intl php7.4-imap php7.4-enchant php7.4-xmlrpc php7.4-tidy php7.4-opcache php7.4-cli unzip gcc
b. Cấu hình PHP-FPM

Đầu tiên các bạn backup lại file cấu hình mặc định

sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/www.conf.bak

Tiếp theo các bạn chạy lần lượt các lệnh sau

sudo sed -i 's/;listen.mode = 0660/listen.mode = 0660/g' /etc/php/7.4/fpm/pool.d/www.conf
sudo sed -i 's/;security.limit_extensions = .php .php3 .php4 .php5 .php7/security.limit_extensions = .php .php3 .php4 .php5 .php7/g' /etc/php/7.4/fpm/pool.d/www.conf
c. Cấu hình php.ini

Tất cả cấu hình thông số php cần thiết sẽ nằm trong file /etc/php/7.4/fpm/php.ini. Trước khi chỉnh sửa các bạn nên backup lại file php.ini bằng lệnh sau

sudo cp /etc/php/7.4/fpm/php.ini /etc/php/7.4/fpm/php.ini.bak

Một số thông số cơ bản bạn có thể sửa như sau

;date.timezone =
expose_php = On
short_open_tag = Off
;max_input_vars = 1000
max_execution_time
max_input_time
post_max_size
upload_max_filesize

Các bạn sửa lại thành như sau:

date.timezone = Asia/Ho_Chi_Minh
expose_php = Off
short_open_tag = On
max_input_vars = 3000
max_execution_time = 90
max_input_time = 90
post_max_size = 128M
upload_max_filesize = 128M
d. Khởi động PHP-FPM

Sau khi quá trình cài đặt hoàn tất các bạn chạy 2 lệnh sau để khởi động PHP-FPM

sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm

Để kiểm tra xem php-fpm đã chạy hay chưa các bạn sử dụng lệnh sau

sudo systemctl status php7.4-fpm

Screenshot_8 - cài đặt LEMP trên Ubuntu 18

e. Bật mode proxy_fcgi

Để Apache có thể hoạt động được với PHP-FPM các bạn cần bật mod proxy_fcgi bằng các lệnh sau

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.4-fpm
sudo systemctl restart apache2

Để kiểm tra các bạn tạo file /var/www/html/info.php bằng lệnh sau

sudo touch /var/www/html/info.php
sudo /bin/su -c "echo -e '<?php\nphpinfo();' >> /var/www/html/info.php"

Sau đó các bạn truy cập http://ip-vps/info.php để kiểm tra xem PHP-FPM đã làm việc hay chưa

Screenshot_6

Khi bạn sử dụng PHP-FPM. Tất cả các file cấu hình PHP đều nằm trong thư mục /etc/php/7.4/fpm

Screenshot_10 - cài đặt LEMP trên Ubuntu 18

2.4. Bước 4: Cài đặt PhpMyAdmin

a. Cài đặt PhpMyAdmin

Để cài đặt PhpMyAdmin các bạn chạy lần lượt các lệnh sau:

cd /usr/share
sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
sudo unzip phpMyAdmin-5.0.2-all-languages.zip
sudo mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
sudo rm -rf phpMyAdmin-5.0.2-all-languages.zip
sudo rm -rf /usr/share/phpMyAdmin/setup
  • Lưu ý: Truy cập phpmyadmin.net để lấy link down phiên bản mới nhất
b. Cấu hình PhpMyAdmin

Tiếp theo các bạn tiến hành cấu hình PhpMyadmin:

sudo mv /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php

Mở file /usr/share/phpMyAdmin/config.inc.php và chỉnh sửa các thông số sau

– Tìm

$cfg['blowfish_secret'] = '';

thêm một đoạn ký tự bất kỳ vào giữa cặp nháy đơn. Ví dụ:

$cfg['blowfish_secret'] = 'dsa123e12rwDSADs1few12tr3ewg3s2df3sAD';

– Tiếp theo thêm vào cuối file doạn code sau

$cfg['TempDir'] = '/usr/share/phpMyAdmin/tmp/';

Sau đó các bạn cần tạo thư mục tmp cho PhpMyAdmin

sudo mkdir -p /usr/share/phpMyAdmin/tmp
sudo chown -R www-data:www-data /usr/share/phpMyAdmin/tmp
c. Tạo fileVirtual host cho PhpMyAdmin

Tiếp theo các bạn tạo file /etc/apache2/conf-enabled/phpmyadmin.conf với nội dung sau

Alias /pma /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
 
<Directory /usr/share/phpMyAdmin/>
    AddDefaultCharset UTF-8
    <IfModule mod_authz_core.c>
    # Apache 2.4
    <RequireAny>
        <RequireAll>
            Require all granted
        </RequireAll>
    </RequireAny>
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order Deny,Allow
        Deny from All
        Allow from All
        Allow from ::1
    </IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/log/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/libraries/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/templates/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>
<Directory /usr/share/phpMyAdmin/tmp/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

Khởi động lại Apache để nhận cấu hình

sudo service apache2 restart

Các bạn có thể truy cập http://ip-vps/phpmyadmin hoặc http://ip-vps/pma và đăng nhập với user là root và mật khẩu là mật khẩu root MariaDB để kiểm tra

Screenshot_7 - cài đặt LAMP trên Ubuntu 18

2.5. Bước 5: Tạo Virtual host

Virtual Host là file cấu hình cho phép nhiều domain cùng chạy trên một máy chủ. Tất cả các file vhost sẽ nằm trong thư mục /etc/apache2/sites-available/. Để tiện quản lý mỗi website nên có một vhost riêng, ví dụ: hostvn.net.conf.

Trong ví dụ này sẽ tạo website hostvn.net với vhost tương ứng là /etc/apache2/sites-available/hostvn.net.conf với nội dung sau:

<VirtualHost *:80>
	ServerName www.hostvn.net
	ServerAlias hostvn.net
	DocumentRoot /home/hostvn.net/public_html
	ErrorLog /home/hostvn.net/logs/error_log
	CustomLog /home/hostvn.net/logs/access_log combined
</VirtualHost>

Tiếp theo các bạn cần tạo thư mục chứa mã nguồn website và thư mục chứa file log bằng các lệnh sau

sudo mkdir -p /home/hostvn.net/public_html
sudo mkdir -p /home/hostvn.net/logs
sudo chown -R www-data:www-data /home/hostvn.net

Sau khi tạo Virtual host các bạn cần enable site

sudo a2ensite hostvn.net.conf
sudo systemctl reload apache2

Sau khi cấu hình hoàn tất các bạn trỏ tên miền về vps sau đó tạo file /home/hostvn.net/public_html/index.php với nội dung sau và gõ tên miền của bạn vào thanh địa chỉ của trình duyệt để kiểm tra

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>HOSTVN.NET - Hướng dẫn cài đặt LAMP trên Ubuntu 18.04</title>
</head>
<body>
	<p><center><?= "HOSTVN.NET - Hướng dẫn cài đặt LAMP trên Ubuntu 18.04" ?></center></p>
</body>
</html>

Screenshot_8 - cài đặt LAMP trên Ubuntu 18

2.6. Cấu hình SSL

Để cấu hình SSL các bạn có thể xem thêm Hướng dẫn cài đặt SSL cho Apache trên VPS Ubuntu của HOSTVN.

3. Tài liệu tham khảo

4. Kết luận

Qua bài viết này HOSTVN đã hướng dẫn các bạn cách cài đặt LAMP (Apache – MariaDB- PHP-FPM) trên Ubuntu 18.04 LTS. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể muốn xem thêm Hướng dẫn cài đặt LEMP trên Ubuntu 18.

email-business-leaderboard-blog-v3.png
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments