天天看點

LAMP安裝各種問題解決方案

LAMP環境配置安裝注意安裝步驟及說明事項。

LAMP安裝各種問題解決

1. 通路ftp報錯

LAMP安裝各種問題解決方案

解決:

關閉selinux

vi /etc/selinux/config

内容修改為: selinux=disable

之後重新開機reboot。

下圖分别為selinux關閉前 和 關閉後:

LAMP安裝各種問題解決方案
LAMP安裝各種問題解決方案

2. 依賴軟體查詢

http://rpmfind.net

一.安裝gcc

gcc

    cloog-ppl

        ppl(libppl.so.7/libppl_c.so.2)

    cpp

mpfr(libmpfr.so.1)

gcc-c++

    libstdc++-devel

mpfr-2.4.1-6.el6.i686.rpm和ppl-0.10.2-11.el6.i686.rpm

快捷鍵rz sz:

rz、sz指令沒找到?

安裝lrzsz即可:

shell># yum -y install lrzsz

二.安裝zlib壓縮庫

shell>## cd /home/jinnan/tar

shell># tar –zxvf zlib-1.2.5.tar.gz

shell># cd zlib-1.2.5

shell># ./configure     //這個配置編譯指令不要加目錄參數

shell># make && make install

三.安裝apache

shell># cd /home/jinnan/tar

shell># tar -jxvf httpd-2.2.19.tar.bz2

shell># cd httpd-2.2.19

shell>#./configure --prefix=/usr/local/http2 \

        --enable-modules=all \

        --enable-mods-shared=all \

        --enable-so

shell># make && make install

啟動Apache

shell># /usr/local/http2/bin/apachectl start

#測試apache

浏覽器打開: http://虛拟機IP

看到 "it works!",即為成功

配置虛拟主機

1)配置host檔案

打開C:/windows/system32/drivers/etc/hosts 檔案

增加域名記錄

如:

192.168.9.38    www.ec1.com

192.168.9.38    www.ec2.com

2) 增加虛拟主機

vi /usr/local/http2/conf/httpd.conf

取消# Include conf/extra/httpd-vhosts.conf

這一行前面的#号

儲存退出

vi /usr/local/http2/conf/extra/httpd-vhosts.conf

增加虛拟主機記錄

<VirtualHost *:80>

    ServerAdmin [email protected]

    DocumentRoot "/usr/local/http2/htdocs/ec1"

    ServerName www.ec1.com

    ServerAlias www.dummy-host.example.com

    ErrorLog "logs/dummy-host.example.com-error_log"

    CustomLog "logs/dummy-host.example.com-access_log" common

</VirtualHost>

<VirtualHost *:80>

    ServerAdmin [email protected]

        DocumentRoot "/usr/local/http2/htdocs/ec2"

    ServerName www.ec2.com

    ErrorLog "logs/dummy-host2.example.com-error_log"

    CustomLog "logs/dummy-host2.example.com-access_log" common

</VirtualHost>

<VirtualHost *:80>

        DocumentRoot "/var/www/shop"

    ServerName www.ec1.com

</VirtualHost>

注意:/var/www/shop 以上三個目錄var www shop 的其他使用者必須有x可執行權限

LAMP安裝各種問題解決方案
LAMP安裝各種問題解決方案
LAMP安裝各種問題解決方案

3)

    shell># cd /usr/local/http2/htdocs

    shell># mkdir ec1 ec2

    shell># echo this is ec1.com > ec1/index.html

    shell># echo this is ec2.com > ec2/index.html

4)重新開機apache

/usr/local/http2/bin/apachectl restart

5)浏覽器打開www.ec1.com,和www.ec2.com

看到不同的網站内容,虛拟主機建立完畢!

安裝圖形庫,為編譯PHP做準備

libxml2-2.7.2.tar.gz

jpegsrc.v8b.tar.gz

libpng-1.4.3.tar.gz

freetype-2.4.1.tar.gz

gd-2.0.35.tar.gz

四.安裝libxml2

shell># cd /home/jinnan/tar

shell># tar zxvf libxml2-2.7.2.tar.gz

shell># cd libxml2-2.7.2

shell>#./configure --prefix=/usr/local/libxml2 \

--without-zlib

shell># make && make install

五.安裝jpeg8

shell># cd /home/jinnan/tar

shell># tar -zxvf jpegsrc.v8b.tar.gz

shell># cd jpeg-8b

shell>#./configure --prefix=/usr/local/jpeg \

--enable-shared --enable-static

shell># make && make install

--enable-shared 把jpeg需要的函數庫程式都編譯到該軟體裡邊

優點:函數調用速度快

                 缺點:軟體本身比較大

--enable-static 靜态方式函數處理,需要什麼函數,馬上include來

優點:軟體本身比較小

缺點:函數調用速度慢

六.安裝libpng

shell># cd /home/jinnan/tar

shell># tar zxvf libpng-1.4.3.tar.gz

shell># cd libpng-1.4.3

shell>#./configure #和zlib一樣不要帶參數,讓它預設安裝到相應目錄

shell># make && make install

七.安裝freetype(字型庫)

shell># cd /home/jinnan/tar

shell># tar zxvf freetype-2.4.1.tar.gz

shell># cd freetype-2.4.1

shell>#./configure --prefix=/usr/local/freetype

shell># make && make install

八.安裝GD庫

shell># cd /home/jinnan/tar

shell># tar -zvxf gd-2.0.35.tar.gz

shell># mkdir -p /usr/local/gd

shell># cd gd-2.0.35

shell>#./configure --prefix=/usr/local/gd \

            --with-jpeg=/usr/local/jpeg/     \

            --with-png --with-zlib \

            --with-freetype=/usr/local/freetype

shell># make && make install

九.安裝 php5

shell># cd /home/jinnan/tar

shell># tar -jxvf php-5.3.6.tar.bz2

shell># cd php-5.3.6

shell>#./configure --prefix=/usr/local/php \

            --with-apxs2=/usr/local/http2/bin/apxs \

            --with-mysql=mysqlnd \

            --with-pdo-mysql=mysqlnd \

            --with-mysqli=mysqlnd \

            --with-freetype-dir=/usr/local/freetype \

            --with-gd=/usr/local/gd \

            --with-zlib --with-libxml-dir=/usr/local/libxml2 \

            --with-jpeg-dir=/usr/local/jpeg \

            --with-png-dir \

            --enable-mbstring=all \

            --enable-mbregex \

            --enable-shared

shell># make && make install

複制php.ini配置檔案到指定目錄

shell># cp php.ini-development /usr/local/php/lib/php.ini

配置Apache使其支援php

vi /usr/local/http2/conf/httpd.conf

  1. 在httpd.conf(Apache主配置檔案)中增加:

AddType application/x-httpd-php .php    

  1. 找到下面這段話:

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

在index.html 前面添加index.php

  1. 建立php測試網頁

vi /usr/local/apache2/htdocs/index.php    

輸入如下内容:

<?php

phpinfo();

?>

  1. 重新開機apache

shell># /usr/local/http2/bin/apachectl restart

  1. 再次浏覽器檢視http://虛拟機IP

如果看到php資訊,工作就完成了!

安裝MySQL

1.安裝cmake

shell># cd /home/jinnan/tar

shell># tar zxvf cmake-2.8.5.tar.gz

shell># cd cmake-2.8.5

shell># ./bootstrap

shell># make && make install

2.編譯安裝MySQL

shell># cd /home/jinnan/tar

shell># tar zxvf mysql-5.5.17.tar.gz

shell># cd mysql-5.5.17

shell># cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

(準備安裝到那裡

資料存儲目錄

預設的字元集

校對字元集)

(報錯就安裝ncurses-devel)

shell># mount .....挂載CD光牒/

shell># rpm -ivh ncurses-devel-5.7-3.20090208.el6.i686.rpm

shell># rm -f CMakeCache.txt //删除該檔案

shell># cmake 。。。。。。//重新cmake

shell># make && make install

shell># cp support-files/my-medium.cnf /etc/my.cnf

3.配置并初始化MySQL

shell># useradd mysql    (該mysql使用者會存在于同名的組下)

shell># chmod +x /usr/local/mysql

(資料庫使用者資訊不小心删除光了,删除data目錄,從此開始執行以下指令,直至結束)

shell># chown -R mysql.mysql /usr/local/mysql

初始化mysql資料庫

shell># /usr/local/mysql/scripts/mysql_install_db \

--user=mysql \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data &

把mysql安裝檔案(除了data)的主人都改為root,避免資料庫恢複為出廠設定。

shell># chown -R root /usr/local/mysql

shell># chown -R mysql /usr/local/mysql/data

& 背景運作mysql服務

shell># /usr/local/mysql/bin/mysqld_safe --user=mysql &

//檢視mysql是否有啟動

shell># ps –A | grep mysql

測試資料庫

shell># /usr/local/mysql/bin/mysql –u root

mysql> show databases;    

接上步,修改mysql密碼(可不做此步,預設無密碼)

mysql> UPDATE user SET Password=password('123456') WHERE user='root';

mysql>

flush privileges;

配置開機自啟動服務項

shell># cp 安裝包解壓目錄/support-files/mysql.server /etc/init.d/mysqld

shell># chmod +x /etc/init.d/mysqld

shell># chkconfig --add mysqld

shell># chkconfig mysqld on //設定開機自啟動

配置檔案路徑:

shell>#

vi /etc/rc.d/rc.local

在檔案中增加啟動相關服務的指令如下:

/usr/local/http2/bin/apachectl start

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

service vsftpd start

重新安裝apache啟動失敗

[root@localhost httpd-2.2.19]# /usr/local/http2/bin/apachectl restart

httpd not running, trying to start

(98)Address already in use: make_sock: could not bind to address [::]:80

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

Unable to open logs

原因是80端口被占用

解決:

檢視80端口使用情況

[root@localhost httpd-2.2.19]# netstat -lnp|grep 80

tcp 0 0 :::80 :::* LISTEN 28195/httpd

unix 2 [ ACC ] STREAM LISTENING 6580 1957/gpm /dev/gpmctl

unix 2 [ ACC ] STREAM LISTENING 5422 1800/pcscd /var/run/pcscd.comm

LAMP安裝各種問題解決方案

檢視80的使用者是誰端口

[root@localhost httpd-2.2.19]# ps 28195

PID TTY STAT TIME COMMAND

28195 ? Ss 0:00 /usr/local/http2/bin/httpd -k restart

LAMP安裝各種問題解決方案

經過分析知道了80端口被系統的一個程序占用,這個程序是舊的apache服務

将這個程序殺之

[root@localhost httpd-2.2.19]# kill -9 28195

[root@localhost httpd-2.2.19]#

LAMP安裝各種問題解決方案

十一.解除安裝作業系統自帶apache

LAMP安裝各種問題解決方案
  1. 删除預設apache程序
  • ps –A | grep http
  • 殺死apache對應程序
LAMP安裝各種問題解決方案

killall httpd 殺死全部的httpd程序

  1. 把預設apache服務給删除
    LAMP安裝各種問題解決方案
  2. 啟動自己的apache
    LAMP安裝各種問題解決方案