linux php環境搭建教學

2020-07-16 10:06:22

linux php環境搭建的方法:首先獲取相關安裝包;然後安裝Apache以及mysql;接著修改組態檔「httpd.conf」;最後設定環境變數和開機自啟,並編譯安裝PHP即可。

一、獲取安裝包

  • PHP下載地址:http://cn.php.net/distributions/php-7.2.6.tar.gz
  • Apache下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.33.tar.gz
  • MySQL下載地址: https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

二、安裝Apache

1. 依賴包安裝

1) 安裝編譯器gcc、gcc-c++

yum install -y gcc gcc-c++

2) 安裝依賴包expat-devel、zlib-devel、openssl-devel

yum install -y expat-devel zlib-devel openssl-devel

2) 安裝依賴包apr

注意:如果依賴包不存在,則去網站找最新的包,改成相應版本號下載即可

wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.3.tar.gz
tar zxvf apr-1.6.2.tar.gzcd apr-1.6.2
./configure --prefix=/usr/local/apr
make && make install

3) 安裝依賴包apr-util

wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
tar zxvf apr-util-1.6.0.tar.gzcd apr-util-1.6.0
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

4) 安裝依賴包pcre

wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
tar zxvf pcre-8.41.tar.gzcd pcre-8.41
./configure --prefix=/usr/local/pcre
make && make install

注意:將apr、apr-util安裝包拷貝到Apache安裝包的srclib目錄中

名稱分別命名為apr、apr-util,不要後面的版本號

2. 安裝過程

1) 解壓Apache安裝包

tar zxvf httpd-2.4.33.tar.gz

注意: 將apr、apr-util安裝包拷貝到Apache安裝包的srclib目錄中

名稱分別命名為apr、apr-util,不要後面的版本號

2) 編譯、安裝

cd httpd-2.4.28
./configure --prefix=/usr/local/server/apache 
--with-apr=/usr/local/apr 
--with-apr-util=/usr/local/apr-util 
--with-pcre=/usr/local/pcre --with-mysql=shared,mysqlnd                                                                                    
--enable-so 
--enable-ssl 
--enable-deflate 
--enable-rewrite 
--enable-headers 
--enable-expires 
--disable-cgid
--disable-cgi

3. 修改組態檔httpd.conf

vim /usr/local/server/apache/conf/httpd.conf

去掉ServerName前面的 #

並將ServerName後面的網址改為localhost:80

4. 將httpd加入系統服務並設定開機自啟

1) 將httpd加入系統服務

cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd

2) 修改/etc/init.d/httpd,在第3行加入以下內容

# chkconfig: 345 85 15# description: Activates/Deactivates Apache Web Server

注意: 程式碼中的 # 不可以去掉

3) 設定系統服務開機自啟

systemctl enable httpd

4) 啟動Apache

service httpd start

三、安裝MySQL

1. 安裝前準備

1) 解壓安裝包

tar zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz mv mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/server/mysql

2) 建立使用者和使用者組並分配相應的許可權

groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql .   #注意後面有個點

2. mysql的初始化並做基本設定

1) 初始化mysql

cd /usr/local/server/mysql
bin/mysqld 
--initialize 
--user=mysql 
--basedir=/usr/local/server/mysql 
--datadir=/usr/local/server/mysql/data 

注意 : 如果報錯 , 則缺哪個庫yum安裝即可 bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

yum install libaio

2) 設定mysql

vim my.cnf  # 建立組態檔

本範例僅保證mysql可以正常執行,更多設定請參考官方文件說明

[mysqld]skip-grant-tablesbasedir = /usr/local/server/mysqldatadir = /usr/local/server/mysql/dataport = 3306

將組態檔軟連結到 /etc/ 目錄

rm -rf /etc/my.cnfln -s /usr/local/server/mysql/my.cnf /etc/my.cnf

3. 啟動mysql並設定root使用者密碼

1) 啟動mysql

support-files/mysql.server start  # 啟動MySQLbin/mysql -uroot -p  # 這裡直接回車,無須輸入密碼

2) 重置root使用者密碼

use mysql;
update user set authentication_string='' where user='root';
exit;

3 ) 刪除/etc/my.cnf檔案的 skip-grant-tables , 重新啟動mysql服務

  support-files/mysql.server restart  #重新啟動mysql

4 ) 用root使用者進行登入

  mysql -u root -p  
  passwrod:直接回車

5 ) 使用ALTER修改root使用者密碼,初始化完畢 。退出,使用新密碼登入

  ALTER user 'root'@'localhost' IDENTIFIED BY 'new_password';

4. 設定環境變數和開機自啟

1) 設定環境變數

編輯profile檔案

vim /etc/profile

新增下列資訊到profile尾部

export PATH=$PATH:/usr/local/server/mysql/bin

使環境變數立即生效

source /etc/profile

2) 設定開機自啟

cp support-files/mysql.server /etc/init.d/mysqld  
systemctl enable mysqld

5. 防火牆設定

CentOS預設開啟了 firewall 防火牆,下面我們使用firewall開啟3306l埠

1) 開啟之前我們先查詢下3306埠是否開啟

firewall-cmd --query-port=3306/tcp

2) 我們可以選擇臨時開啟或者永久開啟3306埠

firewall-cmd --add-port=3306/tcp  # 臨時開啟3306埠  firewall-cmd --permanent --zone=public --add-port=3306/tcp  # 永久開啟3306埠

3) 重新啟動firewall

firewall-cmd --reload

6. 遠端存取

1) 給予任何主機存取mysql的許可權

create user [email protected]'%' identified by 'your_password';                                                           
grant all privileges on *.* to [email protected]'%';

2) 使許可權修改生效

FLUSH PRIVILEGES;

四、安裝PHP

1. 安裝步驟

1) 安裝依賴包

yum -y install wget vim pcre pcre-devel openssl openssl-devel 
libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng 
libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib 
zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel 
curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel 
nss_ldap jemalloc-devel cmake boost-devel bison automake libevent 
libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt 
mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel 
libcurl libcurl-devel openjpeg-devel libcurl.x86_64 libcurl-devel.x86_64 
libjpeg-turbo libjpeg-turbo-devel libpng freetype  libpng-devel 
freetype-devel icu libicu libicu-devel  openldap openldap-clients 
openldap-devel openldap-serverscp -frp /usr/lib64/libldap* /usr/lib/

2) 解壓PHP安裝包

tar zxvf php-7.2.6.tar.gz

3) 編譯安裝

cd php-7.2.6
./configure --prefix=/usr/local/server/php 
--with-apxs2=/usr/local/server/apache/bin/apxs 
--with-config-file-path=/usr/local/server/php 
--enable-fpm 
--with-fpm-user=www 
--with-fpm-group=www 
--enable-mysqlnd 
--with-mysqli=mysqlnd 
--with-pdo-mysql=mysqlnd 
--enable-mysqlnd-compression-support 
--with-iconv-dir 
--with-freetype-dir 
--with-jpeg-dir 
--with-png-dir 
--with-zlib 
--with-libxml-dir 
--enable-xml 
--disable-rpath 
--enable-bcmath 
--enable-shmop 
--enable-sysvsem 
--enable-inline-optimization 
--with-curl 
--enable-mbregex 
--enable-mbstring 
--enable-intl 
--with-libmbfl 
--enable-ftp 
--with-gd 
--with-openssl 
--with-mhash 
--enable-pcntl 
--enable-sockets 
--with-xmlrpc 
--enable-zip 
--enable-soap 
--with-gettext 
--disable-fileinfo 
--enable-opcache 
--with-pear 
--enable-maintainer-zts 
--with-ldap=shared 
--without-gdbm make && make install

2. 設定php.ini

1) 將組態檔拷貝到PHP安裝目錄

cp php.ini-* /usr/local/server/php/

2) 生成php.ini

cp php.ini-development /usr/local/server/php/php.inicp /usr/local/server/php/etc/php-fpm.conf.default /usr/local/server/php/etc/php-fpm.conf


3 ) 修改php.ini組態檔

expose_php = Off
short_open_tag = ON
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2
extension_dir = "/usr/local/server/php/lib/php/extensions/no-debug-zts-20170718/"



3. 修改httpd.conf

載入PHP模組,如httpd.conf中有下列程式碼則直接去掉前面#即可,沒有則加入

LoadModule php7_module modules/libphp7.so

在底部加入以下程式碼使得Apache可以解析php檔案

<IfModule mod_php7.c>
	AddType application/x-httpd-php .php</IfModule>

找到如下程式碼,在index.html後面加入index.php

<IfModule dir_module>
    DirectoryIndex index.html</IfModule>

重新啟動Apache

service httpd restart

4. 測試PHP是否成功安裝

建立/usr/local/server/apache/htdocs/index.php

vim /usr/local/server/apache/htdocs/index.php

在index.php中編寫以下程式碼

<?php

   phpinfo();?>

如果出現以下頁面則安裝成功

MYSQL8.0安裝後 phpMyAdmin無法登陸解決

MYSQL8.0的密碼驗證方式從mysql_native_password改為了caching_sha2_password

vim my.cnf

default_authentication_plugin=mysql_native_password

進入mysql修改一下密碼和加密外掛

use mysql;  
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';    
FLUSH PRIVILEGES;

以上就是linux php環境搭建教學的詳細內容,更多請關注TW511.COM其它相關文章!