搭建本身的LAMP

  LAMP的搭建說簡單也簡單,說難也不容易,若是採用一鍵安裝也是比較容易的,但想配置本身須要的版本等等也是比較麻煩。前段時間我分別在本身的電腦和阿里雲上部署了Lamp環境,如下是步驟和常出現的問題的解決方法,都是編譯安裝,但願對初學者有用。php

安裝目錄,我把他們指定在 /usr/local/ 下面 ,包括apache2,php,mysql文件html

須要的文件http://yunpan.cn/c3KzgIjkumcwy (提取碼:a1b8)node

先安裝apachemysql

安裝步驟:linux

1 tar -zxvf httpd-2.4.12.tar.gz 2 cd httpd-2.4.12
3 ./configure --prefix=/usr/local/apache2  --enable-so  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre 4 make 5 make install

若是順利,能夠成功把apache安裝在--prefix=指定的目錄,可是可能出現編譯錯誤,能夠對照下面的方法解決sql

常出錯誤apache

1、在進行第三步的時候回出現缺乏環境的錯誤,能夠按照一下步驟解決瀏覽器

若是出現:app

1 checking for APR... no
2 configure: error: APR not found .  Please read the documentation

解決辦法:dom

1:下載須要的安裝包(上面的雲盤中已經提供,能夠下載):

1 wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz 
2 wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz 
3 wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip

2.編譯安裝(先移除舊的文件):

1 yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs 

具體步驟以下:
  解決apr not found問題

1 # tar -zxf apr-1.4.5.tar.gz 2 # cd  apr-1.4.5  
3 # ./configure --prefix=/usr/local/apr 4 # make && make install  

  解決APR-util not found

1 # tar -zxf apr-util-1.3.12.tar.gz 2 # cd apr-util-1.3.12  
3 # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 4 # make && make install 

  解決pcre

1 #unzip -o pcre-8.10.zip 2 #cd pcre-8.10  
3 #./configure --prefix=/usr/local/pcre 4 #make && make install 

4.最後編譯Apache時加上:

1 --with-apr=/usr/local/apr \ 2 --with-apr-util=/usr/local/apr-util/ \ 3 --with-pcre=/usr/local/pcre

2、若是在編譯的時候出現:configure: error: mod_so can not be built as a shared DSO

解決辦法:刪除編譯選項:--enable-modules=so

3、啓動apache報錯:

linux啓動apache命令報錯(98)Address already in use: make_sock: could not bind to address [::]:80

解決辦法:

1 查看到對應哪一個應用佔用了80端口:
2 netstat -tulnp | grep ':80 '
3  找到對應的PID殺掉。
4 kill 'PID'

4、出現:httpd: Could not reliably determine the server's fully qualified domain name

解決方案:進入apache的安裝目錄:
Windows : D:\Program Files\Apache Software Foundation\Apache2.2\conf
linux : /usr/local/apache/conf
用記事本打開httpd.conf
將裏面的#ServerName localhost:80註釋去掉便可。
再執行httpd
而後能夠經過瀏覽器訪問http://localhost:80,若是頁面顯示「It works!」,即表示apache已安裝並啓動成功。

 

經常使用修改:

Apache自動啓動
一、將apachectl文件拷貝到/etc/rc.d/init.d 中,而後在/etc/rc.d/rc5.d/下加入連接便可。

1 cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
2 ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd

此時Apache就能夠自動啓動。
二、 運行chkconfig --list,發現沒有linux服務列表中httpd,經過chkconfig --add httpd來添加,可是提示:httpd服務不支持 chkconfig。

須要編輯/etc/rc.d/init.d/httpd,在第一行添加如下注釋信息:

1 chkconfig: 345 85 15
2 description: Activates/Deactivates Apache Web Server

第一行3個數字參數意義分別爲:哪些Linux級別須要啓動httpd(3,4,5);啓動序號(85);關閉序號(15)。
保存後執行:chkconfig --add httpd,成功添加。
在rc3.d、rc4.d、rc5.d路徑中會出現S85httpd的連接文件,其餘運行級別路徑中會出現K61httpd的連接文件。
三、運行chkconfig --list httpd 就會出現

能夠經過:service httpd start 啓動

編譯期間可能出現其餘的缺乏環境問題,能夠一步一步查查,都有對應的解決辦法。

 

安裝mysql(建議先安裝mysql在安裝php,php要指定mysql的安裝路徑)

1:檢查是否已安裝

1 rpm -qa|grep -i mysql

載時使用了--nodeps選項,忽略了依賴關係

1 rpm -e mysql-5.4.61-4.el6.x86_64 --nodeps

2:添加mysql組和mysql用戶,用於設置mysql安裝目錄文件全部者和所屬組。

1 groupadd mysql
2 useradd -r -g mysql mysql

將二進制文件解壓到指定的安裝目錄,咱們這裏指定爲/usr/local

1 cd/usr/local/
2 tar zxvf /your_path/mysql-5.5.29-linux2.6-x86_64.tar.gz

3:進入mysql文件夾,也就是mysql所在的目錄,並更改所屬的組和用戶。

1 cd mysql
2 
3 chown -R mysql .
4 
5 chgrp -R mysql .

4:執行mysql_install_db腳本,對mysql中的data目錄進行初始化並建立一些系統表格。注意 mysql服務進程mysqld運行時會訪問data目錄,因此必須由啓動mysqld進程的用戶(就是咱們以前設置的mysql用戶)執行這個腳本,或 者用root執行,可是加上參數--user=mysql。

1 scripts/mysql_install_db --user=mysql

5:將mysql/目錄下除了data/目錄的全部文件,改回root用戶全部,mysql用戶只需做爲mysql/data/目錄下全部文件的全部者。

1 chown -R root .
2 
3 chown -R mysql data

6:  複製配置文件

1 cp support-files/my-medium.cnf /etc/my.cnf
2 首先須要將scripts/mysql.server服務腳本複製到/etc/init.d/,並重命名爲mysqld。
3 cp support-files/mysql.server /etc/init.d/mysqld

7:經過chkconfig命令將mysqld服務加入到自啓動服務項中。

1 chkconfig --add mysqld
2 chkconfig --list mysqld

檢查是否啓動:netstat -anp|grep mysqld

啓動:service mysqld start

 

安裝php

tar -zxvf php-5.0.2.tar.gz
cd php-5.0.2
./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --disable-tokenizer --with-curl --with-mcrypt --enable-mbstring  --with-iconv --with-gd  --with-gettext --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --disable-tokenizer
make
make install

 

編譯時已經制定了經常使用的擴展,若是還須要其餘擴展,能夠按照下面的方式來添加

進入源碼安裝包:ext文件

可用擴展都在那

執行步驟:

1 //添加擴展
2  /usr/local/php/bin/phpize
3 ./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=DIR(默認路徑時無需指定)
4 make&&make install
5 會在/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525生成curl.so文件

與apache整合:

1 php與apache整合
2 emacs /usr/local/apache2/conf/httpd.conf   找到DirectoryIndex改成以下:
3 DirectoryIndex index.html index.php index.htm index.html.var
4 找到
5 AddType application/x-compress .Z
6 AddType application/x-gzip .gz .tgz
7 在它後面添加
8 AddType application/x-httpd-php .php
9 /usr/local/apache2/bin/apachectl restart
相關文章
相關標籤/搜索