woff 發表於 2023-4-28 21:24:40

CentOS 8 安裝 Http + php 7.4 + MySQL 8.0 改 root 密碼+phpMyAdmin



環境
CentOS 8.2
安裝與啟動 MySQL
在 CentOS 8 以後 yum 漸漸的會被 dnf 取代,因此都會以 dnf 來做套件安裝移除的動作。開啟 Terminal,安裝 MySQL
dnf update -y
sudo dnf install -y mysql-server
systemctl start mysqld.service   # 馬上開啟mysql daeman(MySQL服務)systemctl enable mysqld.service# 之後開機也要自動開啟MySQL服務
systemctl status mysqld.service# 查詢MySQL服務的狀態

設定 root 密碼
簡易方法

可以使用 mysql_secure_installation 來設定與安全性相關的設定,這個設定工具透過互動式問答幫助管理者設定 root 密碼、移除匿名登入帳號、禁止 root 從遠端登入、移除測試用的資料庫。

mysql_secure_installation
登入 MySQL
用密碼登入 MySQL ,看到 Welcome to the MySQL monitor. 就成功囉
進階方法
mysql -u root   # ← 沒有密碼所以不用參數 -p使用 SQL 修改密碼
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';# password 改為要設定的密碼登入 MySQL
mysql -u root -p
Enter password:      # ← 這裡輸入剛設定的密碼
Welcome to the MySQL monitor.Commands end with ; or \g.

忘記 root 密碼
若是之前有裝過 MySQL,現在不記得 root 的密碼,請參考 HOW TO REMOVE MYSQL ENTIRELY FROM LINUX SYSTEM(CENTOS) 先清除舊的 MySQL 資料再安裝,預設密碼就會為空。

安裝 APACHE + PHP 7.4先添加 EPEL 和 REMI 存儲庫yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpmdnf -y install dnf-utils
dnf module reset php -y
dnf module install php:remi-7.4 -yphp -vyum install httpd wget php-{pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}安裝PHP 7.2 元件可參考
dnf -y install httpd php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd gdlib下載phpMyAdmin 並解開上傳到網頁目錄

修改phpmyadmin設定檔vi config.inc.php
systemctl restart httpd #啟動APACHE
setsebool -P httpd_enable_homedirs=1 #開啟家目錄SETLINUX
setsebool -P httpd_can_network_connect_db=1
restorecon -R /home
chmod 711 /home/user #家目錄開啟權限
firewall-cmd --zone=public --add-port=80/tcp --permanent #開啟防火牆PORT 80
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=httpsfirewall-cmd --reloadyum install httpd-devel
yum groupinstall 'Development tools'
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_graceful_shutdown 1
setsebool -P httpd_can_network_relay 1
setsebool -P nis_enabled 1
ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm
semodule -X 300 -i my-phpfpm.pp

如果有用PHP Smarty 3.1 一定要打開此SELINUX服務
setsebool -P httpd_unified=1不開會有錯誤訊息
SELinux 防止 /usr/sbin/php-fpm 進行 write 存取於 目錄 templates_c 上。#012#012*****插件 catchall_boolean (89.3 信賴度) 項建議   **********************************#012#012若您希望 allow httpd to unified#012接著 您必須啟用「httpd_unified」布林值以通知 SELinux。#012#012執行#012setsebool -P httpd_unified 1#012#012*****插件 catchall (11.6 信
賴度) 項建議   ******************************************#012#012若您相信 php-fpm 應該預設允許在 templates_c directory 上作 write 存取。#012接著 您應將此回報為錯誤。#012您可產生本機模組,以允許這項存取。#012執行#012立刻允許此存取,請執行:#012# ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm#012# semodule -X 300 -i my-phpfpm.pp#012

查詢APACHE模組
apachectl -M
修改設定httpd.conf 如下vi /etc/httpd/conf/httpd.conf
<Directory />
    Options Indexes FollowSymLinks
    AllowOverride none
    Require all granted
</Directory>



參考文章

http://n.sfs.tw/content/index/14380
https://www.server-world.info/en/note?os=CentOS_8&p=httpd&f=4
https://weirenxue.github.io/2021 ... tos_mysql_8_0_root/

https://computingforgeeks.com/how-to-install-php-7-4-on-centos-rhel-8/

頁: [1]
查看完整版本: CentOS 8 安裝 Http + php 7.4 + MySQL 8.0 改 root 密碼+phpMyAdmin