Hướng dẫn cài đặt LAMP trên ubuntu 18.04(LTS) step by step
Bài viết trước mình đã hướng dẫn cài đăt LAMP trên centos 7.4, tiếp theo bài viết này mình sẽ hướng dẫn các bạn cách cài đặt LAMP trên ubuntu server 18.04. LAMP là viết tắt của Linux, Apache, MySQL, PHP.
Ở đây mình sẽ cài đặt máy chủ web Apache trên máy chủ Ubuntu 18.04 LTS (Bionic Beaver) với hỗ trợ PHP 7.2 (mod_php) và MySQL / MariaDB và cách thiết lập chứng chỉ SSL với mã hóa của Let. Ngoài ra, mình sẽ cài đặt phpMyAdmin để quản trị MySQL dễ dàng hơn.
Thiết lập LAMP là một máy chủ webserver hoàn hảo cho các hệ thống CMS phổ biến như Joomla, WordPress hoặc Drupal
Install LAMP trên ubuntu 18.04(LTS) step by step
Trước khi thực hiện cài đặt LAMP chúng ta cần tiến hành cập nhật hệ thống ubuntu, các bạn chạy lệnh sau để update ubuntu 18
sudo apt update
Sau khi quá trình update hoàn thành chúng ta bắt đầu cài đặt LAMP trên ubuntu 18.04
Bước 1: Cài đặt Apache
Các bạn chạy lện sau để cài đặt Apache
apt-get -y install apache2
Khởi động apache và cho phép nó tự khởi động lại cùng hệ thống
systemctl start apache2
systemctl enable apache2
Sau khi cài đặt hoàn thành, các bạn mở trình duyệt web lên kiểm tra việc cài đặt Apache đã thành công hay chưa
Thư mục gốc mặc định apache trên Ubuntu là / var / www / html và tệp cấu hình chính là /etc/apache2/apache2.conf.
Cấu hình firewall cho webserver
Ubuntu 18.04 sử dụng UFW firewall, chúng ta sẽ mở port 80 và 443 cho webserver
ufw allow https
ufw allow http
Khởi động UFW firewall và cho phép khởi động cùng hệ thống.
ufw enable
Bước 2 Installing MySQL or MariaDB Database
Các bạn có thể cài đặt mysql hoặc MariaDB, mariaDB là một nhánh của Mysql và được đánh giá nhanh hơn mysql
Các bạn chọn 1 trong hai cơ sở dữ liệu này để cài đặt
1 Cài đặt Mysql
Để cài đặt Mysql các bạn chạy lệnh sau:
apt-get -y install mysql-server mysql-client
Các gói mysql-server và mysql-client được gọi là ‘gói meta’, chúng luôn cài đặt phiên bản MySQL mới nhất có sẵn từ Ubuntu.
Sau khi cài đặt MySQL hoàn thành, thực hiện tự khởi động Mysql sau khi reboot hệ thống
systemctl start mysql
systemctl enable mysql
Tiếp theo chúng ta cần thiết lập bảo mật mysql
mysql_secure_installation
Bạn sẽ được yêu cầu thiết lập các thông tin dưới đây
Securing the MySQL server deployment.
Enter password for user root: <-- Enter the MySQL root password
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) : <-- Choose 'y'
Remove anonymous users? (Press y|Y for Yes, any other key for No) : <-- y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : <-- y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : <-- y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : <-- y
Ok vậy là xong, hoặc các bạn sử dụng MariaDB thì thực hiện như sau
2 Cài đặt MariaDB
Để thực hiện cài đặt phiên bản mới nhất hay theo yêu cầu các bạn cần tạo MariaDB repository trên ubuntu, truy cập vào kho cài đặt mariadb tại đây
Lựa chọn phiên bản cần cài và thực hiện theo hướng dẫn
Ở đây mình sẽ cài MariaDB 10.3 trê ubuntu 18.04, chúng ta sẽ thêm MariaDB repository như sau
apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mariadb.biz.net.id/repo/10.3/ubuntu bionic main'
Xong chạy các lệnh sau để cài đặt MariaDb trên ubuntu
apt update
apt install mariadb-server
Chúng ta cần thiết lập bảo mật cho mysql
mysql_secure_installation
Hoàn thành các yêu cầu
Enter current password for root (enter for none): <-- press enter
Set root password? [Y/n] <-- y
New password: <-- Enter the new MariaDB root password here
Re-enter new password: <-- Repeat the password
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- y
Ok cài đặt cơ sở dữ liệu hoàn tất
Bước 3 Cài đặt PHP 7.2
Mặc định ubuntu 18.04 đi kèm với PHP 7.2, Chúng ta có thể cài đặt PHP 7.2 và mô-đun PHP Apache như sau:
nếu muốn cài đặt PHP phiên bản cũ hơn thì chỉ rõ phiên bản PHP cần cài
apt-get -y install php libapache2-mod-php
Get MySQL / MariaDB support in PHP
Để có được sự hỗ trợ của MySQL trong PHP, chúng ta sẽ cài đặt gói php-mysql, và chúng ta sẽ cài đặt các modules cần thiết theo yêu cầu sử dụng
Sử dụng lệnh sau để tìm các modules
apt-cache search php7.2
hoặc
sudo apt-cache search php- | less
Chọn các module cần và chạy lện cài đặt
apt-get -y
apt-get install php-{mysql,bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y
Khởi động lại Apach
systemctl restart apache2
PHP 7.2 đã được hỗ trợ bởi MySQL / MariaDB
Xong restart Apache:
systemctl restart apache2
Test kiểm tra PHP
Tài liệu gốc của trang web mặc định là / var / www / html. Bây giờ mình sẽ tạo một tệp PHP (info.php) trong thư mục đó để kiểm tra việc apache xử lý PHP thành công chưa
nano /var/www/html/info.php
<?php
phpinfo();
Gán quyền cho file info.php
chown www-data:www-data /var/www/html/info.php
Ok mở trình duyệt web lên và kiểm tra kết quả
Cài đặt Opcache + APCu PHP cache để tăng tốc PHP
PHP 7 cung cấp một bộ mã hóa opcode tích hợp để lưu trữ và tối ưu hóa mã trung gian PHP, nó có tên ‘opcache’ và có sẵn trong gói php7.0-opcache.
Các bạn nên cài đặt Opcache để tăng tốc trang PHP. Ngoài opcache, mình sẽ cài đặt APCu, một trình wrapper tương thích cho opcache để cung cấp các function của APC cache, một caching system thường được sử dụng trong các phiên bản PHP 5.x và nhiều hệ thống CMS vẫn sử dụng
Cài đặt Opcache and APCu bằng lệnh sau:
apt-get -y install php-opcache php-apcu
restart Apache
systemctl restart apache2
Tạo SSL Certificate miễn phí từ Let’s Encrypt cho Apache
Bước đầu tiên để bảo mật trang web với Chứng chỉ SSL mã hóa là cài đặt gói python3-certbot-apache. Chạy lệnh sau
apt-get -y install python3-certbot-apache
Lưu ý bạn phải cấu hình DNS trỏ tên miền về webserver thành công
Xem hướng dẫn cấu hình DNS cho tên miền
Để bắt đầu tạo chứng chỉ SSL, hãy đặt tên miền trong tệp cấu hình vhost. Mở tệp vhost mặc định bằng trình chỉnh sửa:
nano /etc/apache2/sites-available/000-default.conf
và thêm dòng sau vào bên dưới dòng ‘DocumentRoot’.
ServerName example.com
lưu ý: Thay thế example.com bằng tên miền web của bạn
Tiếp theo tạo chứng chỉ SSL bằng lệnh sau:
certbot --apache -d example.com
Nhập email và đồng ý với yêu cầu (lưu ý: email phải là administrator@your_domain)
Xem thêm: TẠO SSL LET’S ENCRYPT MIỄN PHÍ CHO WEBSITE TRÊN LINUX
Cài đặt phpMyAdmin để quản lý CSDL
apt-get -y install phpmyadmin
Lưu ý: Trình cài đặt apt sẽ hỏi bạn một số câu hỏi, một trong số đó là chọn loại máy chủ web.
Một lỗi phổ biến là loại máy chủ web chỉ được highligh nhưng không được chọn. Để chọn một mục trong menu apt, bạn phải nhấn phím cách trên bàn phím, thì lựa chọn mới được áp dụng
Web server to configure automatically: <-- Select the option: apache2
Configure database for phpmyadmin with dbconfig-common? <-- Yes
MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.
Sau khi cài đặt xong chúng ta sẽ cấp quyền truy cập phpmyadmin
MariaDB và MySQL cho phép một plugin có tên “unix_socket” cho người dùng root theo mặc định, plugin này ngăn người dùng root có thể đăng nhập vào PHPMyAdmin và các kết nối TCP tới MySQL đang hoạt động
Chúng ta sẽ tạo một người dùng MySQL mới có tên “admin” với cùng đặc quyền so với người dùng root.
Đăng nhập vào cơ sở dữ liệu MySQL với tư cách người dùng root trên shell:
mysql -u root
Tạo một user với tên “admin” và mật khẩu “@ad12345”.
CREATE USER 'admin'@'localhost' IDENTIFIED BY '@ad12345';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
Ok giờ bạn có thể truy cập phpMyAdmin qua trình duyệt web http://192.168.1.100/phpmyadmin/
Vậy là mình đã hướng dẫn xong các bước cài đặt LAMP trên ubuntu 18.04, trong bài viết sau mình sẽ hướng dẫn các bạn cách cài đặt LEMP trên centos và ubuntu