Hướng dẫn cài đặt LAMP (APACHE-PHP-MYSQL) và tạo VirtualHost trên Debian 8

LAMP là một nhóm các phần mềm mã nguồn mở được sử dụng để chạy các máy chủ web, LAMP viết tắt là viết tắt của Linux, Apache, MySQL, và PHP

Debian là một hệ điều hành máy tính, là bản phân phối miễn phí được phát triển từ sự cộng tác của các tình nguyện viên trên khắp thế giới. Debian được xây dựng dựa trên nền tảng linux với nhiều công cụ cơ bản của hệ điều hành

Sau đây tôi sẽ hướng dẫn các bạn làm thế nào để có thể cài đặt LAMP trên Debian

Trước khi bắt đầu cài đặt hay cập nhật hệ thống của bạn 

# apt-get update -y

Bước 1: Cài đặt apache

Để cài đặt Apache, chúng ta sẽ gõ lệnh sau

# apt-get install apache2 -y

Sau khi cài đặt xong, các bạn có thể kiểm tra bằng cách truy cập địa chỉ http://<Địa chỉ ip VPS>/ của bạn trên trình duyệt 

Bước 2: Cài đặt php

Để cài đặt PHP ta gõ các lệnh sau, ta nên cài đặt php 5 trở lên

# apt-get install php5 php-pear php5-mysql -y

Khởi động lại apache

# service apache2 restart

Để kiểm tra xem PHP trên server của bạn, chúng ta sẽ tạo 1 file info.php

# nano /var/www/html/info.php

Thêm vào dòng sau

<? Php phpinfo (); ?>

Sau đó truy cập vào trình duyệt theo đường dẫn http://<Địa chỉ ip VPS>/info.php và xem kết quả như sau

Bước 3: Cài đặt Mysql

MySQL là một hệ thống quản lý cơ sở dữ liệu rộng rãi triển khai sử dụng cho các tổ chức và lấy dữ liệu.

Để cài đặt Mysql, ta gõ lệnh sau

# apt-get install mysql-server -y

Trong khi cài đặt, MySQL sẽ yêu cầu bạn thiết lập một mật khẩu chủ. Nếu bạn bỏ lỡ cơ hội để thiết lập mật khẩu trong khi các chương trình được cài đặt, nó là rất dễ dàng để thiết lập mật khẩu sau đó từ bên trong MySQL. 

Nhập lại mật khẩu 

Cuối cùng chạy lệnh thiết lập bảo vệ cho Mysql 

# mysql_secure_installation

Nó sẽ hiện ra danh sách sau

Enter current password for root (enter for none):  <-- ấn enter 
Set root password? [Y/n]                           <-- Ấn "y" để nhập mật khẩu Mariadb  
New password:                                      <-- nhập mật khẩu Mariadb mới 
Re-enter new password:                             <-- nhập lại  mật khẩu Mariadb mới 
Remove anonymous users? [Y/n]                      <-- Ấn "y"
Disallow root login remotely? [Y/n]                <-- Ấn "y"
Reload privilege tables now? [Y/n]                 <-- Ấn "y"

Đăng nhập vào MySQL

# mysql -u root -p

Bước 4: Tạo VirtualHost 

Tạo 1 thư mục để chứa các code web 

# mkdir -p /var/www/maxserver.com/public_html

Tạo 1 thư mục chứa các log của web đó

# mkdir /var/www/maxserver.com/log/

Phân quyền cho thư mục 

# chmod -R 755 /var/www/

Cấu trúc thư mục của apache2 

/etc/apache2/sites-available/ :Thư mục chưa các file cấu hình VirtualHost 

/etc/apache2/sites-enabled/ : Nếu muốn cho domain đc cấu hình trong thư mục /etc/apache2/sites-available/ thì phải enabled file cấu hình đó lên bằng cách tạo liên kết đến thư mục này 

/etc/apache2/sites-available/000-default.conf : file cấu hình VirtualHost mặc định của hệ thống ,dựa vào file này bạn cấu hình nhiều domain khác 

/etc/apache2/sites-available/default-ssl.conf : Đây cũng là file cấu hình mặc định của hệ thống ,dựa vào file này để cấu hình ssl

Ví dụ ta tạo file cấu hình cho domain paste.vn

# nano /etc/apache2/sites-available/maxserver.com.conf

với nội cung như sau :

<VirtualHost *:80>         
ServerName maxserver.com        
ServerAlias www.maxserver.com        
ServerAdmin contact@maxserver.com        
DocumentRoot /var/www/maxserver.com/public_html        
ErrorLog /var/www/maxserver.com/log/error.log        
CustomLog /var/www/maxserver.com/log/access.log combined        
<Directory /var/www/maxserver.com/public_html>                
Options FollowSymLinks                
AllowOverride All                
Order allow,deny               
Allow from all                
Require all granted        
</Directory>
</VirtualHost>

Bây giờ ta sẽ enabled file paste.vn.conf bằng lệnh sau 

# a2ensite maxserver.com

Sẽ cho kết quả nhu sau ;

Enabling site maxserver.com To activate the new configuration, you need to run:   service apache2 reload

Khởi động lại dịch vụ apache2 

# service apache2 restart

Ta tạo thử 1 file để xem kết quả 

# nano /var/www/maxserver.com/public_html/index.html

Có nội dung như sau

<html>   
<head>    
<title>maxserver.com</title>  
</head>  
<body>    
<h1>Chuc mot ngay tot lanh!</h1>  
</body>
</html>

Ta truy cập domain để xem kết quả 

Đến đây chúng ta đã kết thúc bài hướng dẫn cài đặt LAMP cho Debian 8, chúc các bạn thành công