Hướng dẫn cài đặt LAMP trên ubuntu 18.04(LTS) step by step

//

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

kiểm tra việc cài đặt Apache
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

cấu-hình-UFW-firewall-cho-phép-nginx

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

 

Leave a Comment