Centos7 LAMP服务源码搭建
前言:
記錄一下源碼安裝LAMP服務的過程
準備工作
安裝編譯環境
yum -y install gcc*關閉防火墻\SELinux
iptables -F setenforce 0加載軟件包鏡像
在虛擬機上將這個鏡像換上連接即可
復制文件到/usr/src/lamp目錄
這里在目錄下寫一個shell腳本,自動解壓一下
#!/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解壓完成
df -h確認磁盤空間是否充足
安裝一些必須軟件
注意事項: 目錄名不要更改 順序不要更改
0x01:安裝python-devel
#首先需要python的底層環境 yum -y install python-devel [root@localhost lamp]# cd lib libmcrypt-2.5.8/ libpng-1.2.31/ libxml2-2.9.1/ [root@localhost lamp]# cd libxml2-2.9.1/ [root@localhost libxml2-2.9.1]# ./configure --prefix=/usr/local/libxml2/
再輸入make
再次輸入make install即可
0x02:安裝libmcrypt
提供加密算法
[root@localhost lamp]# cd libmcrypt-2.5.8/ [root@localhost libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt/ make make install0x03:安裝libltdl
[root@localhost lamp]# cd libmcrypt-2.5.8/libltdl/ [root@localhost libltdl]# ./configure --enable-ltdl-install make make install0x04:安裝mhash
提供加密方式的擴展
前提條件:安裝 lib
0x05:安裝mcrypt
提供php相關的加密支持拓展庫
[root@localhost mcrypt-2.6.8]# LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib \./configure --with-libmcrypt-prefix=/usr/local/libmcrypt make make install0x06:安裝zlib
提供壓縮用途的函數庫
t@localhost lamp]# cd zlib-1.2.3/ [root@localhost zlib-1.2.3]# ./configure make make install0x07:libpng
支持png格式圖片的庫
[root@localhost zlib-1.2.3]# cd ../ [root@localhost lamp]# cd libpng-1.2.31/ [root@localhost libpng-1.2.31]# ./configure --prefix=/usr/local/libpng make make install0x08:jpeg6
提供jpeg格式的圖片
先創建目錄
[root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6 [root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/bin [root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/lib [root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/include [root@localhost libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1 root@localhost lamp]# cd jpeg-6b/ [root@localhost jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static發現報錯,報錯原因是因為缺失libtool
按照下面博客的方法可以解決
解決linux64位安裝jpeg 出錯make: ./libtool: Command not found
安裝完成
0x09:安裝字體freetype
[root@localhost freetype-2.3.5]# ./configure --prefix=/usr/local/freetype0x10:安裝GD
提供PHP圖形拓展庫
[root@localhost lamp]# mkdir /usr/local/gd2 [root@localhost lamp]# cd /usr/src/lamp/gd-2.0.35/ [root@localhost gd-2.0.35]# ./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/ --with-png=/usr/local/libpng/出現錯誤
解決方法:
編輯gd_png.c文件
指定一下配置文件路徑即可,安裝完成
安裝Apache
在此之前需要裝兩個工具包
[root@localhost lamp]# cp -r apr-1.4.6 httpd-2.4.7/srclib/apr [root@localhost lamp]# cp -r apr-util-1.4.1 httpd-2.4.7/srclib/apr-util #這兩個工具也需要安裝一下,具體查百度吧,百度有很詳細的安裝 cd pcre-8.34/ ./configure make make install [root@localhost lamp]# cd httpd-2.4.7/ [root@localhost 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 install時報錯(類似這種的)
按照老師發的方法試一下:
因為之前編譯過,所以要清除下
make clean但又遇到一個錯誤,Apache安裝是編譯安裝,安裝路徑不是默認路徑,Apache服務沒有添加到Linux服務中
可以參考下面的方法
啟動服務發現成功
安裝mysql
首先需要安裝這個工具
oot@localhost lamp]# yum -y install cmake其次安裝下語法解釋器
[root@localhost lamp]# yum -y install bison
然后建立一個用戶來使數據庫運行
接下來按照老師的命令
執行發現報錯
解決方法
缺失的包我們已經安裝了但如果還是報錯就按照下面的進行操作
#刪掉原來的目錄 rm -rf mysql-5.5.23 #再次解壓 tar -zxf mysql-5.5.23.tar.gz查看一下包是否安好
[root@localhost lamp]# rpm -q ncurses ncurses-5.9-14.20130511.el7_4.x86_64 [root@localhost lamp]# rpm -q ncurses-devel ncurses-devel-5.9-14.20130511.el7_4.x86_64再進入mysql目錄中,進行編譯
安裝成功,說明這里的這個軟件包是有先后順序的,必須先安裝ncurses和ncurses-devel才行
接下來就是
make&&make install進入mysql目錄更改一些權限
cd /usr/local/mysql/ chown -R mysql:mysql . #數據庫初始化 [root@localhost mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql
數據庫初始化成功,接下來授權一下表和庫的權限
開啟MySQL
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql如果開啟沒成功,就用上面的初始化的命令再來一次
如果卡到這里的話,用下面的命令殺死mysql的進程,再初始化一遍數據庫再啟動即可
發現3306端口已經打開了,數據庫已經啟動了
添加開機自啟
[root@localhost mysql]# vim /etc/rc.d/rc.local
登陸mysql
直接登陸會不那么安全,設置一個密碼
再次登陸就需要密碼了,記住要刪除history,因為會記錄設置的密碼
安裝PHP
接下來就是最后一步了,安裝PHP
#預先準備好的環境,先要安裝上 yum -y install libtool*接下來修改一下配置文件以支持數據庫的內容
[root@localhost /]# vim /usr/local/gd2/include/gd_io.h
(注:這里的位置是錯的,正確位置往下面看)
添加上這一行代碼,保存退出
接下來就是安裝php,需要指定之前安裝過的軟件路徑,所以有點長
./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但這里會報錯configure: error: png.h not found.,按道理說上面我們已經安裝過了libpng,但是還是不行,查了百度,發現還需要libpng-devel,所以也要安裝一下
yum install libpng-devel
安裝成功,接下來make的時候又報錯了
老師也出現了這個問題,最后發現是我們在vim /usr/local/gd2/include/gd_io.h編輯這個文件的時候,那一行加錯位置了,應該加在這個地方
修改好之后保存,再次進入php目錄進行make編譯
出現這個頁面就沒什么問題了繼續make insatll
終于不報錯了
創建一個存放配置文件的目錄
[root@localhost php-5.4.25]# mkdir /usr/local/php/etc復制一下主配置文件
[root@localhost php-5.4.25]# cp php.ini-production /usr/local/php/etc/php.ini #老師的配置文件存在的目錄 vim /usr/local/apache2/etc #但我的是在/etc目錄下 vi /etc/httpd/httpd.conf #只是目錄不同而已,其他修改都一樣往下面拉,找了好久才找到,添加指定的那一行即可保存退出
重啟apache
測試
apache與php
下面就進行測試,在/usr/local/apache2/htdocs/目錄下創建一個index.php,寫入
<?phpphpinfo(); >進行訪問
OK,說明apache能與php一同工作了
apache與MySQL
下面進行測試apache是否能和MySQL一起工作
在index.php頁面寫入如下代碼即可測試
<?php $link=mysql_connect('localhost','root','123456'); if($link) echo "hello,lemon"; mysql_close(); ?>
說明mysql能與apache一起工作
因為命令式的mysql很難去操作,所以安裝一下phpmyadmin
[root@localhost mysql]# cd /usr/src/lamp/ [root@localhost lamp]# cp -r phpMyAdmin-4.1.4-all-languages /usr/local/apache2/htdocs/phpmyadmin進入phpmyadmin目錄,生成它的配置文件
[root@localhost phpmyadmin]# cp config.sample.inc.php config.inc.php #修改下訪問類型 vim config.inc.php #將cookie改成http
進行訪問
到此,源碼安裝LAMP服務全部搞好了(哇真的真的真的太惡心了)
總結
感覺自己獨立解決問題的能力真的提高了不少,耐心也增加了,也感覺搭建好之后挺爽的!!!
總結
以上是生活随笔為你收集整理的Centos7 LAMP服务源码搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【BJDCTF 2nd—Web】做题+复
- 下一篇: Centos Apache服务搭建