1. 程式人生 > >centos7.2 lamp環境安裝搭建(基於阿里雲ECS伺服器)

centos7.2 lamp環境安裝搭建(基於阿里雲ECS伺服器)

centos7.2 lamp環境安裝搭建

centos7.2 + apache2.4.23 + mysql5.7.14 + php7.0.9 + phpMyAdmin4.6.3

這是我在一臺新裝的 centos7.2阿里雲ECS伺服器上搭建的lamp環境流程,目的是搭建一個當前最新版的lamp測試環境,以下流程僅供參考。

準備

1、建立我存放原始碼包的資料夾
mkdir -p /projects/lamp
2、檢視gcc是否安裝
gcc -v 
提示:如未安裝,則進行yum安裝
yum install -y gcc gcc-c++
3、安裝vim編輯器
yum install -y vim

安裝apache

(一)安裝apr
1、切換到原始碼目錄
cd /projects/lamp
2、下載apr包
wget http://apache.fayea.com/apr/apr-1.5.2.tar.gz

3、安裝apr包需要的擴充套件

yum install -y autoconf libtool

4、解壓、配置、編譯、安裝

tar -xzvf apr-1.5.2.tar.gz

cd apr-1.5.2

./buildconf

./configure --prefix=/usr/local/apr

make

make install

問題1如果./configure遇到‘executing libtool commands rm: cannot remove 'libtoolT': No such file ordirectory’

解決:

開啟configure檔案

vim configure 

找到$RM "$cfgfile"所在行,然後新增#號註釋掉此行儲存並退出

(二)安裝apr-util

1、切換到原始碼目錄

cd /projects/lamp/

2、下載apr-until包

wget http://apache.fayea.com/apr/apr-util-1.5.4.tar.gz

3、解壓、配置、編譯、安裝

tar -xzvfapr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make

make install

 (三)安裝pcre包

1、切換到原始碼目錄

cd /projects/lamp/

2、下載pcre包

wget http://jaist.dl.sourceforge.NET/project/pcre/pcre/8.39/pcre-8.39.zip

3、安裝解壓工具unzip

yum install -y unzip

4、解壓、配置、編譯、安裝

unzip pcre-8.39.tar.gz

cd pcre-8.39

./configure --prefix=/usr/local/pcre

make

make install

(四)安裝apache

1、切換到原始碼目錄

cd /projects/lamp/

2、下載apache

wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.23.tar.gz

3、解壓、配置、編譯、安裝

tar -xzvfhttpd-2.4.23.tar.gz

cd httpd-2.4.23

./configure \

--prefix=/usr/local/apache2 \

--with-apr=/usr/local/apr \

--with-apr-util=/usr/local/apr-util/bin/apu-1-config \

--with-pcre=/usr/local/pcre \

--enable-so \

--enable-rewrite

make

make install

4、配置apache

切換到配置檔案目錄

cd /usr/local/apache2/conf

vim開啟配置檔案

vim httpd.conf

 去掉ServerName前的註釋,修改為localhost:80

5、啟動apache服務

/usr/local/apache2/bin/apachectlstart

6、檢視apache是否安裝成功

curl localhost

提示:如返回It works頁面,則安裝成功

安裝mysql

提示:因為centos7.2預設安裝了mariadb-libs,所以先要解除安裝掉

檢視是否安裝mariadb

rpm -qa | grep mariadb

解除安裝mariadb(注意檢查依賴,判斷是否可以強制刪除)

rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

1、切換到原始碼目錄

cd /projects/lamp

 2、下載所需的rpm包

wget http://cdn.MySQL.com//Downloads/MySQL-5.7/mysql-community-common-5.7.14-1.el7.x86_64.rpm

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-libs-5.7.14-1.el7.x86_64.rpm

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-client-5.7.14-1.el7.x86_64.rpm

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.14-1.el7.x86_64.rpm

 3、安裝需要的擴充套件庫

 yum install -y libaio    //安裝server時需要

4、安裝

rpm -ivh mysql-community-common-5.7.14-1.el7.x86_64.rpm --nosignature

rpm -ivh mysql-community-libs-5.7.14-1.el7.x86_64.rpm --nosignature

rpm -ivh mysql-community-client-5.7.14-1.el7.x86_64.rpm --nosignature

rpm -ivh mysql-community-server-5.7.14-1.el7.x86_64.rpm --nosignature

提示:加上--nosignature是為了防止報簽名錯誤

5、初始化

切換到mysql的bin目錄
cd /usr/bin
初始化mysql
mysqld --initialize-insecure --user=mysql     
提示:-insecure設定root密碼為空
修改mysql檔案所有者(報找不到mysql.sock錯誤時需修改)
chown mysql:mysql -R /var/lib/mysql  
啟動mysqld
systemctl start mysqld
新增root使用者密碼
mysqladmin -u root password 密碼
登入mysql
mysql -u root -p

退出

quit

安裝php

1、切換到原始碼目錄

cd /projects/lamp

2、下載原始碼包

wget http://cn2.PHP.net/distributions/php-7.0.9.tar.gz

3、安裝所需的擴充套件庫

yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel

4、解壓、配置、編譯、安裝

tar -zvxf php-7.0.9.tar.gz

cd php-7.0.9

./configure \

--prefix=/usr/local/php7 \

--with-apxs2=/usr/local/apache2/bin/apxs \

--with-mysqli=shared,mysqlnd \

--with-pdo-mysql=shared,mysqlnd

提示:此處只配置了這幾項,其他擴充套件可以通過新增動態擴充套件方式開啟(見第7步)

make&& make install

5、配置php.ini

新增配置檔案

cp /projects/lamp/php-7.0.9/php.ini-production /usr/local/php7/lib/php.ini

提示:因我configure時未指定配置檔案位置,系統預設位置在/usr/local/php7/lib下面

讓apache支援php

編輯httpd.conf

vim /usr/local/apache2/conf/httpd.conf

找到DirectoryIndex,在index.html後新增

 index.php

找到AddType,在之後新增一行

AddType application/x-httpd-php .php

重啟apache

/usr/local/apache2/bin/apachectl -k restart        

6、測試

切換到apache預設的文件根目錄

cd /usr/local/apache2/htdocs/

新增一個index.php

vim index.php

寫入內容:

<?php

         phpinfo();

儲存並退出

刪除index.html

rm -f index.html

測試能否訪問到index.php

curl localhost

提示:如打印出phpinfo頁面則安裝成功

7、安裝動態擴充套件(以下兩個擴充套件在用phpMyAdmin訪問資料庫時會用到)

例1、安裝php的gettext擴充套件

切換到php原始碼包的gettext擴充套件目錄

cd /projects/lamp/php-7.0.9/ext/gettext/

執行phpize

/usr/local/php7/bin/phpize

配置、編譯、安裝

./configure --with-php-config=/usr/local/php7/bin/php-config --with-gettext

make&& make install

修改php.ini新增擴充套件

開啟php.ini

vim /usr/local/php7/lib/php.ini

檔案最後新增一行

extension=/usr/local/php7/lib/php/extensions/no-debug-zts-20151012/gettext.so

提示:如未改動過擴充套件預設目錄配置,可直接寫成extension=gettext.so,其他擴充套件同理。

重啟apache使配置生效

/usr/local/apache2/bin/apachectl -k restart

例2、安裝php的mbstring擴充套件

切換到php原始碼包的mbstring擴充套件目錄

cd /projects/lamp/php-7.0.9/ext/mbstring/

執行phpize

/usr/local/php7/bin/phpize

配置、編譯、安裝

./configure --with-php-config=/usr/local/php7/bin/php-config --enable-mbstring

make&& make install

修改php.ini新增擴充套件

開啟php.ini

vim /usr/local/php7/lib/php.ini

檔案最後新增一行

extension=mbstring.so

重啟apache使配置生效

 /usr/local/apache2/bin/apachectl -k restart

安裝phpMyAdmin

1、切換到原始碼目錄

cd /projects/lamp/

2、下載

wget https://files.phpmyadmin.Net/phpMyAdmin/4.6.3/phpMyAdmin-4.6.3-all-languages.tar.gz

3、解壓

tar -zvxf phpMyAdmin-4.6.3-all-languages.tar.gz

4、複製解壓後文件到apache網站根目錄pma資料夾下

cp -fr phpMyAdmin-4.6.3-all-languages /usr/local/apache2/htdocs/pma

5、瀏覽器輸入IP地址/pma訪問

問題1:訪問時如提示缺少mysqli擴充套件,新增mysqli擴充套件

解決:動態新增php的mysqli擴充套件

切換到php原始碼包的mysqli擴充套件目錄

cd /projects/lamp/php-7.0.9/ext/mysqli/

執行phpize

/usr/local/php7/bin/phpize

配置

./configure --with-php-config=/usr/local/php7/bin/php-config --with-mysqli=mysqlnd

編譯安裝

make && make install

修改php.ini新增擴充套件

開啟php.ini

vim /usr/local/php7/lib/php.ini

檔案最後新增一行

extension=mbstring.so

重啟apache

/usr/local/apache2/bin/apachectl -k restart

問題2:提示‘mysqli_real_connect():(HY000/2002): 沒有那個檔案或目錄’錯誤

解決:

修改php.ini

開啟phi.ini

vim /usr/local/php7/lib/php.ini

修改pdo_mysql.default_socket=/var/lib/mysql/mysql.sock(mysql.sock地址)

修改mysqli.default_socket =/var/lib/mysql/mysql.sock

重啟apache

/usr/local/apache2/bin/apachectl -k restart

後續

1、將apache命令加入到環境變數中

開啟profile檔案

vim /etc/profile

檔案最後新增一行

PATH=/usr/local/apache2/bin:$PATH

使配置生效

source /etc/profile

2、設定httpd開機自啟

切換到系統service目錄

cd /lib/systemd/system

新建一個httpd.service檔案

vim httpd.service

寫入如下資料:

[Unit]

Description=ApacheServer

After=network.target

[Install]

WantedBy=multi-user.target

[Service]

Type=forking

ExecStart=/usr/local/apache2/bin/apachectl-k start

ExecReload=/usr/local/apache2/bin/apachectl-k restart

ExecStop=/usr/local/apache2/bin/apachectl-k stop

PrivateTmp=true

儲存並退出

設定httpd.service開機自啟

systemctl enable httpd.service

重啟電腦

shutdown -r now

檢視是否自啟

ps -ef | grep httpd