centos7.2 lamp環境安裝搭建
centos7.2 + apache2.4.23 + mysql5.7.14 + php7.0.9 + phpMyAdmin4.6.3
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