1. 程式人生 > >Linux下PHP開發環境搭建(Apache2.4+PHP7.1+MySQL8.0)

Linux下PHP開發環境搭建(Apache2.4+PHP7.1+MySQL8.0)

一、獲取安裝包

  • 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.gz
cd 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.gz
cd
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.gz
cd 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-tables
basedir = /usr/local/server/mysql
datadir = /usr/local/server/mysql/data
port = 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  # 啟動MySQL
bin/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-servers
cp -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; 

相關推薦

LinuxPHP開發環境搭建Apache2.4+PHP7.1+MySQL8.0

一、獲取安裝包PHP下載地址:http://cn.php.net/distributions/php-7.2.6.tar.gzApache下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.33.t

LinuxPHP開發環境搭建Apache2.4+PHP7.1+MySQL5.7

AMP是當下非常熱門的Web開發環境。很多開發者在搭建LAMP的過程中會遇到各種各樣的問題,想到這些頭都快爆炸了,今天特意抽出時間將PHP開發環境的搭建過程記錄下來,以便供大家做個參考。如果大家發現什麼問題,還希望大家指正。 一、獲取安裝包 PHP下載地址:http://

Linux_Ubuntu驅動開發環境搭建14.04, 15親測可行

Linux_Ubuntu下驅動開發環境搭建 linux下驅動需要編譯核心 1.首先是基本的開發工具,如gcc,gdb,make等 apt-get install build-essential 2.其次是找到你所用的ubuntu的版本號:uname -r  然後檢視你要下載

Docker for Windows安裝與Linux+PHP開發環境搭建

Docker for Windows安裝與Linux+PHP開發環境搭建(二) 上一篇講了docker安裝與環境搭建的步驟,這一次主要是介紹過程中遇到的錯誤情形及其錯誤處理方法: 1).執行docker pull local.registry.com:5000/php 或其他連線本地

Docker for Windows安裝與Linux+PHP開發環境搭建

Docker是什麼? 簡單得來說,Docker是一個由GO語言寫的程式執行的“容器”(Linux containers, LXCs); 目前雲服務的基石是作業系統級別的隔離,在同一臺物理伺服器上虛擬出多個主機。Docker則實現了一種應用程式級別的隔離; 它改變我們基本的開發、操作單元,

1PX4開發指南——linuxpx4開發環境搭建

引言 這文件大部分是翻譯PX4官方開發指南,但是其中的的綠色字型就是我自己的實踐經驗或者案例。 本文主要介紹linux ubuntu開發環境搭建,原始碼編譯和上傳到硬體。 注意:僅限於開發者!這個指南旨在推動開發而不是為消費者準備。 這個指南介紹瞭如何在PX4系統架構下開

Linuxgolang開發環境搭建

str windows div lec ola jos bin 工具庫 vscode 對於golang開發來說,Windows下可以用vscode或者liteide都不錯,但是Linux下的開發也就只有vim了,所以怎麽搞笑的利用vim進行golang開發呢? 參考官方推

windowsgolang開發環境搭建Eclipse篇

1.go語言環境安裝 下載地址:https://golang.org/dl/ 找windows下面的msi檔案下載安裝即可。注意位數喲~ 安裝完這個你就可以在命令列下面執行go程式啦:go run test.go package main import ( "fmt" ) fu

linuxandroid開發環境搭建及NDK安裝[整合gcc編譯器]

對於Linux我也是一位新人,弄Linux也就半年左右吧,同時作為Android隊伍中的一個新人。 由於我最近每天使用的是CentOS 5.5,所以選擇CentOS5.5作為我的開發環境。 我以前一直在LinuxSir潛水,第一次發貼,我還是細緻的把我作的寫下來。同時作為我

linuxHTML5開發環境配置IDEA

最近在CSDN上看資訊,瞭解到HTML5近幾年很虎,而且成上升趨勢,加之本身就對網頁這一塊比較感興趣,所以也就馬上想了解下,看了HTML5未來幾年的計劃和發展趨勢,確實值得MARK和學習下,無論如何,接觸新知識就是一種學習。 看了jikexuexuan的專業介紹,選了一款比

LinuxPHP+Nginx環境搭建

PHP+Nginx環境搭建 作者:王宇陽( Mirror )^_^ 參考文章: ​ Nginx+PHP+MySQL安裝參考 ​ PHP原始碼安裝經驗 ​ PHP原始碼環境搭建過程中常見問題 CentOS環境 配置CentOS-7網路: CentOS(最小安裝)預設是不開啟網路的 啟動網路 vi開啟:/

windows上php7環境搭建Apache2.4+MySQL5.7+PHP7

1、卸掉之前的本地環境(php、Apache、mysql),如果本地預設開啟了IIS服務,需將IIS服務關閉(端口占用),雖然可以改Apache服務埠,但是訪問時帶埠訪問,總讓人感覺彆扭。  IIS服務關閉方法:win+R鍵,輸入services.msc確認,開啟本地服務列表,找到IIS服務,右鍵選擇屬性,停

LinuxPHP開發之旅-1.開發環境搭建

一.下載相關安裝包 從官網:https://www.apachefriends.org/download.html 下載對應版本的安裝包,由於學的版本為5.5,選擇5.6版本安裝包  二.執行安裝 由於下載的檔案直接就是xampp-linux-x64-5.6.39-0-i

LinuxMinigui開發環境搭建PC+S3C2440

花了兩天時間終於把Minigui的開發環境搭建好了,遇到了很多問題,看了很多人的部落格,對我的啟發很大。關鍵是以前偷懶裝redhat的時候為了省空間,很多庫檔案都沒安裝搞的自己很狼狽,不過也由於這個原因,讓我真正細細的實踐了一遍Minigui的移植,理解加深了很多。 Mi

程式設計工具Mac的Java環境和Node.js/Ruby開發環境搭建基於Intellj Idea

參考: 一、Mac下的Java環境配置 1. 安裝Jdk 下載Mac版本的JDK,下好之後安裝,此時在bash中使用java -version命令已經看到Version號。 Mac支援多版本Java虛擬機器的選擇,選擇如下: 開啟Java控制檯之後可以在Desktop

LinuxPHP開發之旅-2.開發環境相關設定探索

一.預設目錄在哪兒? 開始時面對該xampp整合開發環境的相關配置有點不知所錯,於是便先想著找httpd.conf,通過該檔案,對該整合環境的配置檔案關係有了大致瞭解,具體操作如下; cd /opt/lampp/etc vi httpd.conf 預設ServerName

[轉]LinuxSTM32開發環境搭建

目錄 一、概述   1.目的 一、概述 1、目的   MDK+Jlink的開發環境集編譯、下載、除錯為一體,配合上友好的操作介面,給使用者者提供了很Happy的開發工具。但是,曾經玩過Linux系統的人總想嘗試對開發環境的一次搬移,轉戰到Linux下看有什麼事情發生。   在

嵌入式linux驅動開發環境搭建親測成功

一 開發環境: (1)主機:vmware8+fedora14,核心版本為2.6.35,主機自帶GCC版本4.5。(這兩點很重要,所有的問題都與這兩個因素有關)。 (2)目標機:S3C6410(arm11) (3)目標機核心:linux2.6.24 (4)交叉編譯工具:arm

[絕對經典]Linux+Mysql+Apache+Php開發環境搭建全過程及問題的解決辦法

今天終於將LAMP環境搭建成功,這裡發表一篇文章。 說實話,文章屬於原創有點牽強,但是有了這篇文章,保證你不費吹灰之力,就能搭建好此環境! 廢話少說! 準備環境軟體: VMware 7.1 workstation  Red Hat Enterprise Linux 5 M

PX4開發1:ubuntupixhawk開發環境搭建

1. 介紹 之前買了個330的四軸,最近想利用起來,所以買了個pixhawk來玩。pixhawk是開源的,所以想看看能不能在其基礎上開發出什麼。 要做開發首先要配置環境,由於官方推薦在linux環境下開發,所以這裡介紹ubuntu下pixhawk的開發環境配