Linux LAMP搭建

      Linux lamp搭建php

1、安裝mysqlhtml

一、把mysql的包下載到這個目錄下mysql

   cd /usr/local/src/ linux


二、下載包c++

   wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gzsql

注意:上面的地址是32位機器用的,若是你的機器是64位,下載這個包(http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz)安裝方法是同樣的。apache

 須要安裝wget包,默認沒有安裝vim

 [root@mysql src]# yum install -y wget瀏覽器


三、解壓包bash

  tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 


四、把解壓出來的文件移動到/usr/local/目錄下,而且更名爲mysql,這一步須要注意,在移動的時候要確保/usr/local/目錄下沒有mysql這個名稱,

若是有,就會把文件移動到mysql目下了,這樣子是錯誤的

[root@mysql src]# mv mysql-5.1.40-linux-x86_64-icc-glibc23 /usr/local/mysql 


五、建立一個mysql用戶,而且禁止登錄

   useradd -s /sbin/nologin mysql 


六、進入到/usr/local/mysql下,好像不進入這個目錄也是能夠的

   cd /usr/local/mysql


七、建立 /data/mysql 目錄

   mkdir -p /data/mysql 


八、更改/data/mysql 目錄的屬主和屬組

   chown -R mysql:mysql /data/mysql 


九、在當前目錄下初始化(當前目錄指的上就是/usr/local/mysql目錄)

   ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql 

  這一步作的是出錯了,原來是沒有安裝共享庫,因此這一步若是出錯,查看下是否有安裝共享庫

  安裝共享庫:yum install compat-libstdc++-33

  完成以後查看/date/mysql下回生成兩個目錄:mysql和test目錄


十、在當前目錄下(/usr/local/mysql目錄)拷貝模板到/etc/目錄下,而且更名爲my.cnf

    cp support-files/my-large.cnf /etc/my.cnf 

    使用vim進入my.cnf文件中關閉如下功能:

    log-bin=mysql-bin

    binlog_format=mixed

    server-id       = 1


十一、拷貝啓動文件到/etc/init.d/下命名爲mysqld(也是在/usr/local/mysql目錄下)

    cp support-files/mysql.server /etc/init.d/mysqld

    chmod 755 /etc/init.d/mysqld (這一步不作好像也能夠)


十二、修改/etc/init.d/mysqld文件

    vim /etc/init.d/mysqld   #修改datadir

    修改如下配置:

    basedir=/usr/local/mysql #定義了mysql所在的路徑

    datadir=/data/mysql       #數據存放路徑


1三、加入到系統列表

    chkconfig --add mysqld 


1四、設定開機啓動

    chkconfig mysqld on 


1五、重啓mysql

   /etc/init.d/mysql start

   [root@mysql mysql]# /etc/init.d/mysqld start

   Starting MySQL... SUCCESS! #這個提示表示mysql已經啓動成功


1六、使用ps aux |grep mysql來檢測看看是否有mysql進程

    使用netstat -lnp來查看是否有3306端口



2、安裝apache

一、下載apache(也是下載到/usr/local/src/目錄下)

   wget  http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz


二、解壓apache包

   tar zvxf httpd-2.2.16.tar.gz  


三、進入到httpd-2.2.16目錄

   cd httpd-2.2.16

   [root@mysql src]# cd httpd-2.2.16


四、開始編譯,若是沒有文檔,進入到INSTALL文件中看看幫助(此文檔在/usr/local/src/httpd-2.2.16目錄下) 

   INSTALL文件中須要查看的信息:

     $ ./configure --prefix=PREFIX #指定安裝的目錄在哪裏

     $ make

     $ make install

     $ PREFIX/bin/apachectl startt

 

五、配置編譯參數(/usr/local/src/httpd-2.2.16目錄下)

   ./configure --prefix=/usr/local/apache2  --enable-mods-shared=most  --enable-so 

   --prefix=:安裝路徑

   --enable-mods-shared=most:安裝的模塊大可能是以共享的方式去安裝的,而且是動態的,由於使用

                           靜態的耗費內存

   --enable-so :啓用DOS

  這一步時報錯,信息以下:提示須要安裝gcc

  configure: error: in `/usr/local/src/httpd-2.2.16/srclib/apr':

  configure: error: no acceptable C compiler found in $PATH

  See `config.log' for more details.

  configure failed for srclib/apr

  須要安裝gcc

  安裝gcc:yum install gcc-c++

報錯信息:

checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

解決辦法,安裝如下包:

yum install -y zlib-devel

六、編譯

  make && make install 能夠寫在同一行,可是要使用兩個&&符號隔開。也能夠分開寫


  make install


七、編譯完成以後進入/usr/local/apache2/目錄查看

進入/usr/local/apache2/目錄以後,使用/bin/ls 查看modules目錄,這個目錄存放的是模塊


八、檢查

[root@mysql httpd-2.2.16]# /usr/local/apache2/bin/httpd -t :檢查配置文件是否有錯誤 

[root@mysql httpd-2.2.16]# /usr/local/apache2/bin/httpd -l :查看核心的

[root@mysql httpd-2.2.16]# /usr/local/apache2/bin/httpd -M :顯示全部加載的模塊

[root@mysql httpd-2.2.16]# cat /usr/local/apache2/build/config.nice :查看歷史編譯配置


九、啓動apache

 [root@mysql httpd-2.2.16]# /usr/local/apache2/bin/apachectl start

 

 /usr/local/apache2/bin/apachectl start/stop/restart

 /usr/local/apache2/bin/apachectl graceful/graceful-stop

 start :用於啓動apache服務,首先檢查apache的配置文件是否有誤,沒有錯誤啓動服務,若有誤則輸出錯誤信息;

 stop  :用於中止apache服務器,若是已經中止了apache服務器則會報錯;

 restart :從新啓動apache服務器,若是apache沒有啓動則啓動它;

 graceful :和start參數同樣,區別在於它不會中斷正在處理的鏈接,也不會關閉日誌。推薦使用。

 graceful-stop :和stop參數同樣,區別在於它不會中斷正在處理的鏈接,也不會關閉日誌,推薦使用。


十、查看是否啓動了

 

[root@mysql apache2]# ps aux |grep httpd
  root     58464  0.0  0.2 124448  2524 ?        Ss   20:35   0:00 /usr/local/apache2/bin/httpd -k start
  daemon   58465  0.0  0.1 124448  1736 ?        S    20:35   0:00 /usr/local/apache2/bin/httpd -k start
  daemon   58466  0.0  0.1 124448  1736 ?        S    20:35   0:00 /usr/local/apache2/bin/httpd -k start
  daemon   58467  0.0  0.1 124448  1736 ?        S    20:35   0:00 /usr/local/apache2/bin/httpd -k start
  daemon   58468  0.0  0.1 124448  1736 ?        S    20:35   0:00 /usr/local/apache2/bin/httpd -k start
  daemon   58469  0.0  0.1 124448  1736 ?        S    20:35   0:00 /usr/local/apache2/bin/httpd -k start
  root     58479  0.0  0.0 103248   872 pts/0    S+   20:37   0:00 grep httpd

 

十一、啓動時出現的  相似於錯誤信息之類的

wKiom1V6pL3S71GrAAF-jTRRq-Q356.jpg

須要修改配置文件:conf/httpd.conf

配置文件:[root@mysql apache2]# vim conf/httpd.conf 

在配置文件中把ServerName www.example.com:80前面的#號去掉

在從新啓動,就不會在有提示了


十二、測試

   在Linux中測試是否工做了

   [root@mysql apache2]# curl localhost

   <html><body><h1>It works!</h1></body></html>[root@mysql apache2]# 

   

  在瀏覽器中輸入IP地址來測試,以下圖:

  

wKioL1V6pqrjowfuAADFrjPfq4I082.jpg

出此It works就表示配置成功了


./bin/apachectl -t:檢測配置文件和 /usr/local/apache2/bin/httpd -t效果同樣

 ./bin/apachectl start:重啓

[root@mysql apache2]# ./bin/apachectl graceful:在不殺死進程的狀況下調度配置文件


1三、若是須要開機自動啓動Apache服務,須要把這一行命令:

/usr/local/apache2/bin/apachectl start加入到/etc/rc.local文件中才能夠


3、安裝php

一、進入/usr/local/src/目錄下,下載PHP包


下載包

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


二、解壓包

  tar zxvf php-5.3.28.tar.gz 


三、進入到php-5.3.28目錄,編譯配置PHP

   [root@mysql src]# cd php-5.3.28

./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir   --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6 

這一步會出現各類錯誤,根據提示來安裝所須要的庫文件,若是不知道的就使用yum list來搜,

錯誤信息以下:參考文檔:http://sxct168.blog.51cto.com/824373/1640316

一、configure: error: xml2-config not found. Please check your libxml2 installation.

  # yum install -y libxml2-devel

二、configure: error: Cannot find OpenSSL's <evp.h>

  # yum install -y openssl-devel

三、checking for BZip2 in default path... not found

   configure: error: Please reinstall the BZip2 distribution

   # yum install -y bzip2-devel

四、configure: error: jpeglib.h not found.

   # yum install -y libjpeg-devel

五、configure: error: png.h not found.

  # yum install -y libpng libpng-devel

六、configure: error: freetype.h not found.

  # yum install -y freetype-devel

七、configure: error: mcrypt.h not found. Please reinstall libmcrypt.

  # yum install -y libmcrypt-devel

  

語法:

yum list |grep -i 報錯的名稱


若是沒有yum源搜索不到,須要安裝yum擴展源

安裝yum擴展源:yum install -y epel-release


四、編譯

make

make install 


安裝完成以後,能夠在/bin/ls /usr/local/php下看到一些文件


/usr/local/php/bin/hph

php的可執行文件位置


五、最後複製配置文件/usr/local/php/etc/目錄下,而且更名爲php.ini

[root@mysql php-5.3.28]# cp php.ini-production /usr/local/php/etc/php.ini


/usr/local/php/bin/php -m :查看php都安裝了哪些模塊

/usr/local/php/bin/php -i:查看php的參數


4、配置apache結合php

apache的主配置文件爲:/usr/local/apache2/conf/httpd.conf

一、編輯配置文件

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

找到:

AddType application/x-gzip .gz .tgz

在該行下面添加:

AddType application/x-httpd-php .php

而後再找到:

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

將該行改成:

<IfModule dir_module>

    DirectoryIndex index.html index.htm index.php

</IfModule>

找到:

#ServerName www.example.com:80

修改成:

ServerName localhost:80


二、檢查配置文件是否正確

   [root@mysql php-5.3.28]# /usr/local/apache2/bin/apachectl -t

    Syntax OK #出先這個就表示是正確的

三、啓動Apache

 /usr/local/apache2/bin/apachectl start


5、測試解析php

   一、寫一個php腳本

   vim /usr/local/apache2/htdocs/1.php

   寫入:


   <?php

       echo "php解析正常";

   ?>

  保存後,繼續測試:

二、解析報錯

 

[root@mysql php-5.3.28]# curl localhost/1.php
  <?php
      echo "php解析正常";
  ?>

  /usr/local/apache2/bin//apachectl -M |grep -i php:檢查php模塊是否加載

  檢查配置文件的時候,原來是配置文件寫錯了,修改了一下,重啓以後正常

  重啓命令:/usr/local/apache2/bin/apachectl graceful


三、解析

  curl localhost/1.php

 

[root@mysql php-5.3.28]# curl localhost/1.php
  php解析正常 #出現這個就表示解析成功了

四、可是在瀏覽器中解析的時候,中文出現了亂碼,具體如圖:

   wKiom1V6qHXRQfvvAAC7WW-VulQ107.jpg

解決辦法:更改1.php腳本測試文件

wKioL1V6q33B4zTXAAE8TGJmelw334.jpg

保存退出後重啓服務

/usr/local/apache2/bin/apachectl graceful

在測試就正常顯示了

wKiom1V6qgyAE3IVAAC7ZWCbQCA900.jpg

實驗中若是有錯誤的地方,但願各位大神可以指正,若是事後發現文檔中有錯誤的地方,我也會修真。

相關文章
相關標籤/搜索