ubuntu安裝php+mysql+apache2

oldopr發表於2022-03-21

ubuntu版本18+

一. 安裝php

//php
apt install php7.2
//檢視php擴充套件
php -m
//安裝php擴充套件
sudo apt install php7.2-bcmath  php7.2-gd ......
//修改php.ini
/etc/php/7.2/cli/php.ini

//重啟服務

二. 安裝mysql

//大多數情況下ubuntu會自己自帶最新版本mysql如需要修改版本
//首先刪除mysql:
sudo apt-get remove mysql-*
//然後清理殘留的資料 yes or no 選yes
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
//安裝mysql指定版本
sudo apt install mysql-server-5.7
//檢視安裝版本
mysql -V
//檢視mysql預設賬號密碼
sudo cat /etc/mysql/debian.cnf
//配置mysql
sudo mysql_secure_installation
//配置項較多如下所示
  a)為root使用者設定密碼 
  b)刪除匿名賬號 //建議刪除
  c)取消root使用者遠端登入  //看需求
  d)刪除test庫和對test庫的訪問許可權 //直接回車
  e)重新整理授權表使修改生效 //直接回車
  d)......

//需要遠端連線需要以下操作
//修改配置檔案,註釋掉bind-address = 127.0.0.1
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
//儲存退出,然後進入mysql服務
mysql -uroot -p
執行授權命令:
mysql>grant all ON *.* to root@'%' identified by '123456' with grant option;
mysql> flush privileges;
mysql> exit

其中`<root@%>``localhost`就是本地訪問,配置成`%`就是所有主機都可連線;第二個`'123456'`為你給使用者設定的密碼。

//重啟資料庫
sudo /etc/init.d/mysql restart

三. 安裝php-fpm

//php
apt install php7.2-fpm
//修改配置監聽9000埠來處理nginx的請求(這種方法一般在windows上使用),

另一種方法linux下使用sock方法速度會更快,這個地方也可以不修改,真使用裡面  /run/php/php7.2-fpm.sock 這樣的路徑,後面nginx也要設定成這種格式  fastcgi_pass unix:/run/php/php7.2-fpm.sock;

開啟 /etc/php/7.2/fpm/pool.d/www.conf 檔案找到如下位置註釋第一行新增第二行

;listen = /run/php/php7.2-fpm.sock
listen = 127.0.0.1:9000
修改許可權

chmod 777 /run/php/php7.2-fpm.sock

$ sudo service php7.2-fpm start       # 啟動
$ sudo service php7.2-fpm stop        # 停止
$ sudo service php7.2-fpm restart     # 重啟
$ sudo service php7.2-fpm reload      # 過載

四. apache2

/etc/apache2/sites-available 中修改 000-default.conf 
中的DocumentRoot /var/www/ 修改為想要的目錄
//在/etc/apache2/apache2.conf加上以下程式碼
<Directory 專案路徑例如:/etc/www/web/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
//重啟||開啟||關閉服務
sudo  /etc/init.d/apache2 restart||start||stop
//開啟https
//檢查是否配置openssl
sudo a2enmod  ssl
//如是以下程式碼不則不需要安裝開啟openssl
`Considering dependency setenvif for ssl:`
`Module setenvif already enabled`
`Considering dependency mime for ssl:`
`Module mime already enabled`
`Considering dependency socache_shmcb for ssl:`
`Module socache_shmcb already enabled`
`Module ssl already enabled`
sudo apt-get install openssl 安裝
sudo a2enmod ssl 開啟ssl
//在/etc/apache2/ports.conf檔案檢視是否有443埠號。一般都會有。
//在/etc/apache2/sites-available/default-ssl.conf檔案配置下面表格顯示的這幾項
`強制使用https`
//我們只需要開啟/etc/apache2/sites-available/000-default.conf這個檔案,在你的<VirtualHost*:80></VirtualHost>這個標籤內隨便一個地方加上三行:
RewriteEngine on
RewriteCond   %{HTTPS} !=on
RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R]
//然後儲存,然後啟動 Apache2 的重定向:
 sudo a2enmod rewrite

//不管配不配443最後一步都是重啟apache


配置檔案引數 說明
SSLEngine on 啟用 SSL 功能
SSLCertificateFile 證照檔案
SSLCertificateKeyFile 私鑰檔案
SSLCertificateChainFile 證照鏈檔案
ServerAdmin 郵箱
ServerName 域名
DocumentRoot 執行目錄
本作品採用《CC 協議》,轉載必須註明作者和本文連結