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-develyum 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-utilwget 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) 安裝依賴包pcrewget 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.confvim /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) 啟動Apacheservice 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) 初始化mysqlcd /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) 配置mysqlvim 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) 啟動mysqlsupport-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) 重啟firewallfirewall-cmd --reload
6. 遠程訪問1) 給予任何主機訪問mysql的權限create user root@'%' identified by 'your_password';
grant all privileges on *.* to root@'%';
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.ini1) 將配置文件拷貝到PHP安裝目錄cp php.ini-* /usr/local/server/php/
2) 生成php.inicp 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文件
AddType application/x-httpd-php .php
找到如下代碼,在index.html后面加入index.php
DirectoryIndex index.html
重啟Apacheservice httpd restart
4. 測試PHP是否成功安裝創建/usr/local/server/apache/htdocs/index.phpvim /usr/local/server/apache/htdocs/index.php
在index.php中編寫以下代碼<?php
phpinfo();?>
如果出現以下頁面則安裝成功
MYSQL8.0安裝后 phpMyAdmin無法登陸解決
MYSQL8.0的密碼驗證方式從mysql_native_password改為了caching_sha2_password
vim my.cnfdefault_authentication_plugin=mysql_native_password
進入mysql修改一下密碼和加密插件use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;