Hướng dẫn cài Apache, MySQL, PHP (LAMP) trên ArchLinux

Cập nhật ngày 13/12/2024
Lượt xem: 106

Thuật ngữ LAMP này là một từ viết tắt đại diện cho hệ điều hành Linux, với máy chủ web Apache. Dữ liệu trang web được lưu trữ trong cơ sở dữ liệu MySQL và nội dung động được xử lý bởi PHP.

Sau đây mình sẽ hướng dẫn các bạn cài LAMP lên máy tính chạy hệ điều hành ArchLinux, mọi thắc mắc các bạn có thể phản hồi dưới phần bình luận.

Giả sử:

/home/night/Project
/home/night/Project/file-manager

Bước 1 - Cập nhật hệ thống

sudo pacman -Syu

Bước 2 - Cài Apache

sudo pacman -S apache

Khởi động Apache

sudo systemctl enable httpd
sudo systemctl restart httpd

Kiểm tra

http://localhost/

Sửa file etc/httpd/conf/httpd.conf

sudo nvim etc/httpd/conf/httpd.conf

Bat module:

mod_rewrite

Sua file

sudo nvim /etc/httpd/conf/extra/httpd-ngatngay.conf
<Directory "/home/night/Project">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

<VirtualHost *:80>
    DocumentRoot /home/night/Project/file-manager
    ServerName fm.t

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost/"
    </FilesMatch>
</VirtualHost>

Fix 403

chmod o+x $HOME

Reload:

sudo systemctl restart httpd.service

Bonus: https://ngatngay.net/huong-dan-cai-dat-dnsmasq-tren-ubuntu

Bước 3 - Cài đặt MariaDB

sudo pacman -S mysql

Sau khi cài xong chạy lệnh sau để cài đặt thư mục chứa data

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Khởi động MySql

sudo systemctl enable mysqld
sudo systemctl start mysqld

Kiểm tra tình trạng

sudo systemctl status mysqld

Cấu hình (cần làm, nên đặt mật khẩu cho user root)

sudo mysql_secure_installation

Buoc 3: Cai dat MariaDB 10.6 (run all as root)

Huong dan: https://mariadb.com/kb/en/installing-mariadb-binary-tarballs/

sudo pacman -S libxcrypt-compat

Tai xuong: https://mariadb.org/download/?t=mariadb&p=mariadb&r=10.6.20&os=Linux&cpu=x86_64&pkg=tar_gz&i=systemd&mirror=vhost_vn

groupadd mysql
useradd -g mysql mysql
cd /usr/local
tar -zxvpf /path-to/mariadb-VERSION-OS.tar.gz
ln -s mariadb-VERSION-OS mysql
cd mysql
./scripts/mariadb-install-db --user=mysql
chown -R root .
chown -R mysql data

Them vao PATH

/usr/local/mysql/bin/

Them Service

cp support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service
mkdir /etc/systemd/system/mariadb.service.d/

cat > /etc/systemd/system/mariadb.service.d/datadir.conf <<EOF
[Service]
ReadWritePaths=/usr/local/mysql/data
EOF

systemctl daemon-reload

Start service

systemctl enable mariadb.service
systemctl start mariadb.service

Co the can khoi dong lai!!!

Cau hinh!!!

sudo -i
export PATH=$PATH:/usr/local/mysql/bin/
mysql_secure_installation

Bước 4 - Cài PHP

sudo pacman -S php php-fpm

Khoi dong

sudo systemctl enable php-fpm.service
sudo systemctl start php-fpm.service

Sau khi cài xong sửa file /etc/httpd/conf/httpd.conf

sudo nvim /etc/httpd/conf/httpd.conf

Enable proxy modules:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

Cau hinh PHP

sudo nvim /etc/php/php.ini
;extension=mysql

Sau đó khởi động lại Apache

sudo systemctl restart php-fpm.service
sudo systemctl restart httpd