Centos7虛擬機下——源碼安裝LAMP服務器

前言

上個週三在Linux課上,讓搭建LAMP環境,但這個東西真的內容較多,我前面沒有截圖,僅把相關操作的文字說明和代碼以及註釋附上,以及我參考的博客於是今天把LAMP完整的搭好了。並記錄了下搭建過程:

一、準備環境

1.概述
L:Linux 提供底層操作系統平臺
A:Apache 提供一個瀏覽器的支持
M:MySQL 提供數據庫支持
P:PHP/Perl/Python 提供人性化顯示
安裝順序:Linux->Apache->MySQL->PHP
2.環境
(1)安裝編譯工具gcc、gcc-c++
(2)關閉系統RPM安裝包的Apache、MySQL的服務
(3)關閉SELinux、防火牆
(4)關閉不必要的服務
(5)拷貝源碼包,通過腳本批量安裝
(6)確認磁盤空間未滿
源碼安裝的基本步驟如下圖:
在這裏插入圖片描述
終端使用eject彈出光盤。

二、環境安裝

鏡像包:LAMP.iso
1.連接lamp源碼包鏡像LAMP.iso。將lamp-php5.4複製到/usr/src/lamp

cp -rf /run/media/root/20150430_144909/lamp-php5.4 /usr/src/lamp

在這裏插入圖片描述
2.掛載Centos系統鏡像到/media

mount /dev/cdrom /media

3.安裝編譯工具gcc

yum -y install gcc*

4.關閉系統RPM安裝包的Apache、MySQL的服務
系統沒有安裝Apache、MySQL的服務。
如果安裝了的話,使用service 服務名 stop 關閉服務
如果設置開機不啓用chkconfig httpd off
5.關閉SELinux、防火牆

iptables -F #清空防火牆所有內容
vi /etc/selinux/config
setenforce 0 #臨時狀態設爲不啓用

6.關閉不需要的服務
7.腳本批量解包安裝:

cd /usr/src/lamp
vim 1.sh
#!/bin/bash
/bin/ls *.tar.gz >ls.list
/bin/ls *.tgz >> ls.list
for a in `cat ls.list`
do
    /bin/tar -zxf $a
done
rm -rf ls.list
bash 1.sh

在這裏插入圖片描述
8.確認磁盤空間
df -h
注意:目錄名不要改,順序不要改

三、安裝一些軟件包

1.安裝python底層環境

yum -y install python-devel

2.安裝libxml2 解釋器
啓用對其他語言的支持

cd /usr/src/lamp/libxml2-2.9.1/
./configure --prefix=/usr/local/libxml2/
make
make install

3.安裝libmcrypt
提供加密算法

cd /usr/src/lamp/libmcrypt-2.5.8/
./configure --prefix=/usr/local/libmcrypt/
make
make install

4.安裝mhash
提供加密方式的擴展
先安裝libltdl

cd /usr/src/lamp/libmcrypt-2.5.8/libltdl/
./configure --enable-ltdl-install #啓用安裝
make
make install

然後安裝mhash

cd /usr/src/lamp/mhash-0.9.9.9/
./configure
make
make install

5.安裝mcrypt
提供php相關的加密支持擴展

cd /usr/src/lamp/mcrypt-2.6.8
LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib \
./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
make
make install

6.安裝zlib
提供壓縮用途的函數庫
按照視頻裏的方法,沒安裝成功,於是修改了點

cd /usr/src/lamp/zlib-1.2.3/
./configure --prefix=/usr/local/zlib/
make
make install
export LDFLAGS="-L /usr/local/zlib/lib"
export CPPFLAGS="-I /usr/local/zlib/include"

7.安裝libpng
提供png格式的圖片的庫

cd /usr/src/lamp/libpng-1.2.31/
./configure --prefix=/usr/local/libpng
make
make install

執行make發現
下載zlib-devel,然後重新執行make命令,成功了。

yum install zlib-devel

8.安裝jpeg6
提供jpeg格式的圖片的庫

mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
yum -y install libtool
cd /usr/src/lamp/jpeg-6b/
cp /usr/share/libtool/config/config.sub .
cp /usr/share/libtool/config/config.guess .
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install

9.安裝freetype
提供字體相關引擎

cd /usr/src/lamp/freetype-2.3.5/
./configure --prefix=/usr/local/freetype
make
make install

10.安裝GD
提供PHP圖形擴展庫。提供一個API。接收處理圖片

mkdir /usr/local/gd2
cd /usr/src/lamp/gd-2.0.35
vi gd_png.c
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/ --with-png=/usr/local/libpng/
make
make install

四、開始安裝

1.安裝Apache
(1)安裝

cd /usr/src/lamp/
cp -r apr-1.4.6 httpd-2.4.7/srclib/apr
cp -r apr-util-1.4.1 httpd-2.4.7/srclib/apr-util
cd /usr/src/lamp/httpd-2.4.7
./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc --with-include-apr --enable-so --enable-deflate-shared --enable-expires=shared --enable-rewrite=shared

執行結果,缺少pcre-config,進行安裝:

cd /usr/src/lamp/pcre-8.34/
./configure
make
make install
cd /usr/src/lamp/httpd-2.4.7
./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc --with-include-apr --enable-so --enable-deflate-shared --enable-expires=shared --enable-rewrite=shared
make
make install

安裝成功
(2)啓動apache2
1.啓動apache2
遇到一個錯誤,原因:Apache安裝是編譯安裝,安裝路徑不是默認路徑,Apache服務沒有添加到Linux服務中
2.解決方法:
1)將鏈接apachectl 複製到系統啓動目錄下並命名爲httpd

cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/apache2

現在就可以使用service httpd start等命令了,但在linux服務列表還沒有註冊
2)使用chkconfig來註冊apache服務,並且可以在linux的服務列表中看到chkconfig –list
在init.d的httpd鏈接文件中第2行添加如下注釋:

vi /etc/rc.d/init.d/apache2

在這裏插入圖片描述

意義:
35:在3級別和5級別(級別見文末TIPS)啓動apache2
61:啓動順序爲61號,S61
61:關閉順序爲61號,K61
當進行chkconfig --add apache2操作時,如果沒有指定level那麼就會來這個註釋中取值

3)將httpd配置自啓並加入linux服務監控

chkconfig --add apache2

解決方法參考:
把httpd加入到service並設置啓動,參考過程中只把httpd改爲apache2,其他不變。
4)再次啓動apache2

service apache2 start

然後就發現啓動成功了。
5)測試
1.先自己在物理機上測試訪問一下
Centos虛擬機ip:192.168.142.128
Apache搭建成功,也可用Centos上的elinks工具進行測試。
6).安裝elinks
yum -y install elinks
測試一下:elinks 192.168.142.128
在這裏插入圖片描述
測試成功。
2.安裝MySQL
(1)安裝

yum -y install cmake
yum -y install bison #語法解釋器

(2)建立mysql用戶並安裝mysql

useradd mysql
#查看id mysql
cd /usr/src/lamp/mysql-5.5.23/
#配置mysql
[root@qwzf mysql-5.5.23]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSET=all -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 \
> -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql \
> -DMYSQL_TCP_PORT=3306

發現報錯:
在這裏插入圖片描述解決方法:

yum -y install ncurses-devel
cd /usr/src/lamp/ncurses-5.9/
./configure --with-shared --without-debug --with-ada --enable-overwrite
make
make install
cd ..
rm -rf mysql-5.5.23 #刪掉原來的目錄
tar -zxf mysql-5.5.23.tar.gz #再次解壓

然後重新配置mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSET=all -DDEFAULT_CHARSET=utf8 \ 
-DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

結果如下圖說明配置成功,
在這裏插入圖片描述然後

make    #編譯
make install     #安裝

(3)進入mysql目錄更改權限

cd /usr/local/mysql
chown -R mysql:mysql . #改屬主
/usr/local/mysql/scripts/mysql_install_db --user=mysql #數據庫初始化

初始化成功,授權表和庫的權限

chown -R root .
chown -R mysql data/
cp support-files/my-medium.cnf /etc/my.cnf #複製配置文件

(4)開啓MySQL並查看

/usr/local/mysql/bin/mysqld_safe --user=mysql

發現開啓失敗。殺死mysql的進程,再初始化數據庫,然後啓動

ps aux | grep mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql
netstat -anpt

發現3306端口已經打開,數據庫已經啓動
添加mysql開機自啓

vim /etc/rc.d/rc.local

(5)登陸mysql並設置密碼
登錄mysql

/usr/local/mysql/bin/mysql

設置密碼,然後登錄mysql

/usr/local/mysql/bin/mysqladmin -u root password 'zjs819819'
/usr/local/mysql/bin/mysql -u root -p

在這裏插入圖片描述
如果退出要刪除history,因爲會記錄設置的密碼

history -c

至此,MySQL安裝測試成功。
3.安裝PHP
(1)先安裝上預先準備好的環境

yum -y install libtool*

(2)修改配置文件以支持數據庫的內容

vim /usr/local/gd2/include/gd_io.h

在這裏插入圖片描述
添加上這一行代碼(爲了使php讀到數據庫內容),保存退出
(3)安裝php

cd /usr/src/lamp/php-5.4.25/

#指定之前安裝過的軟件路徑
[root@qwzf php-5.4.25]# ./configure --prefix=/usr/local/php/ \
> --with-config-file-path=/usr/local/php/etc/ \
> --with-apxs2=/usr/local/apache2/bin/apxs \
> --with-mysql=/usr/local/mysql \
> --with-libxml-dir=/usr/local/libxml2 \
> --with-jpeg-dir=/usr/local/jpeg6/ \
> --with-png-dir=/usr/local/libpng/ \
> --with-freetype-dir=/usr/local/freetype/ \
> --with-gd=/usr/local/gd2/ \
> --with-mcrypt=/usr/local/libmcrypt/ \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --without-pear

執行成功,然後

make
make install

源碼編譯安裝成功,然後配置文件
創建存放配置文件的目錄並複製一下主配置文件

mkdir /usr/local/php/etc
cp php.ini-production /usr/local/php/etc/php.ini
vi /usr/local/apache2/etc/httpd.conf

在這裏插入圖片描述
添加指定的那一行,保存退出。

重啓Apache
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
/usr/local/apache2/bin/apachectl restart

在這裏插入圖片描述
好了,到這裏Apache、MySQL和PHP安裝成功。下面進行測試。

五、進行測試

1:默認的首頁是否可以正常訪問?
先在物理機瀏覽器輸入lamp虛擬機的IP地址:192.168.142.128/
顯示如下:
這說明網頁可以正常訪問
說明默認的首頁可以正常訪問。

2.測試Apache與PHP能不能工作:
在/usr/local/apache2/htdocs/(網頁文檔根目錄)目錄下創建一個index.php

[root@bogon php-5.4.25]# cd /usr/local/apache2/htdocs/
[root@bogon htdocs]# vim index.php

寫入PHP代碼,這裏直接寫個查看phpinfo信息的:

<?php
  phpinfo();
?>

物理機上進行訪問:http://192.168.142.128/index.php
在這裏插入圖片描述
測試成功,說明Apache與PHP能一起正常工作。

3:測試.Apache與MySQL能不能工作
寫一個test.php,(vim test.php)
在這裏插入圖片描述
內容如下:

<?php
$link=mysql_connect('bogon','root','zjs819819');
if($link) echo "I am zjs!!!,my mysql and php could work together successfully!";
mysql_close();
?>

物理機上訪問:192.168.142.128/test.php
在這裏插入圖片描述
說明MySQL能與Apache一起正常工作。

4:安裝phpmyadmin
爲了方便數據庫管理和訪問(可以進行圖形化界面的管理和訪問),可以安裝一下phpmyadmin:
(phpmyadmin是已經安裝好的,只需要把它拷貝到apache2網頁的根目錄下)

cd /usr/src/lamp/
cp -r phpMyAdmin-4.1.4-all-languages /usr/local/apache2/htdocs/phpmyadmin

進入phpmyadmin目錄,生成配置文件:

cd /usr/local/apache2/htdocs/phpmyadmin
cp config.sample.inc.php config.inc.php 
#修改訪問類型
vim config.inc.php 
#將cookie改成http

在這裏插入圖片描述
在這裏插入圖片描述
訪問phpmyadmin,物理機瀏覽器輸入:192.168.142.128/phpmyadmin/index.php
輸入mysql的用戶root和密碼*********:
看到如下界面:
在這裏插入圖片描述
該界面是連接着本地的mysql數據庫,可以對數據庫在圖形化界面進行管理和訪問。

到此,LAMP環境完全搭建成功。
感悟:瞭解了源碼安裝的整個過程,又增強了自己解決報錯的能力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章