在CentOS上設置LAMP(Linux, Apache, MySQL, PHP)環境的權限,通常涉及以下幾個關鍵步驟:
# 臨時關閉
systemctl stop firewalld
# 永久關閉
systemctl disable firewalld
# 編輯防火墻配置文件
vi /etc/sysconfig/iptables
# 添加規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# 保存退出
:wq!
# 重啟防火墻使配置生效
systemctl restart iptables.service
# 設置防火墻開機啟動
systemctl enable iptables.service
setenforce 0
# 編輯配置文件
vi /etc/selinux/config
# 將 SELINUX=enforcing 修改為 SELINUX=disabled
# 保存退出
:wq!
# 重啟系統
reboot
# 安裝Apache服務及擴展包
yum -y install httpd httpd-manual mod_ssl mod_perl
# 啟動Apache服務
systemctl start httpd
# 設置開機啟動
systemctl enable httpd
# 安裝MySQL
yum -y install mariadb-server mariadb
# 啟動MySQL服務
systemctl start mysqld
# 設置開機啟動
systemctl enable mysqld
# 運行安全安裝腳本
mysql_secure_installation
# 安裝PHP及其擴展
yum install php php-mysql php-gd
# 重啟Apache服務以應用PHP配置
systemctl restart httpd
# 設置/var/www/html目錄權限,允許Apache用戶訪問
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html
# 創建example.com的虛擬主機配置文件
sudo nano /etc/httpd/conf.d/example.com.conf
# 添加以下內容
VirtualHost *:80
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com/public_html
ServerName example.com
ServerAlias www.example.com
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
# 重啟Apache服務
systemctl restart httpd
# 登錄MySQL
mysql -u root -p
# 創建新用戶
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
# 授予權限
GRANT SELECT, INSERT, UPDATE ON mydatabase.* TO 'newuser'@'localhost';
# 刷新權限
FLUSH PRIVILEGES;
# 查看用戶權限
SHOW GRANTS FOR 'newuser'@'localhost';
請注意,上述步驟可能需要根據您的具體需求進行調整。在執行任何權限設置之前,請確保您有足夠的權限,并且了解每個命令的作用,以避免對系統造成不必要的影響。