搭建LAMP環境

搭建LAMP環境

Mysql免編譯安裝包下載鏈接(5.1版本):

32位:http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

64位:http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz

如果使用源代碼包安裝的話,編譯時間花費較長

Apache源代碼下載鏈接(2.2版本):

http://mirrors.sohu.com/apache/httpd-2.2.31.tar.bz2

php源代碼包下載連接(5.4版本):

http://mirrors.sohu.com/php/php-5.4.44.tar.bz2

 

安裝順序:mysqlapachephp

php放到最後安裝是因爲安裝php時需要指定mysql的安裝目錄和apacheapxs工具的路徑。

Mysql安裝

首先使用命令uname –i查看系統位數,然後選擇相應mysql免編譯安裝包進行下載。

[root@master ~]# cd /usr/local/src

[root@master src]# wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

[root@master src]# tar -xzvfmysql-5.1.73-linux-i686-glibc23.tar.gz

//解壓

[root@master src]# mvmysql-5.1.73-linux-i686-glibc23 /usr/local/mysql

         //移動mysql安裝包到/usr/local/目錄下

[root@master src]# cd /usr/local/mysql

[root@master mysql]# useradd -M -s/sbin/nologin mysql

         //創建運行mysql服務的賬戶

[root@master mysql]# mkdir -p /data/mysq

//創建mysql數據文件存放目錄

[root@master mysql]# chown -R mysql:mysql/data/mysql

[root@master mysql]#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

         //初始化mysql服務,--user指定運行mysql服務的賬戶,--datadir指定數據文件存放目錄。這一步驟很關鍵,如果你看到兩個“OK”說明執行正確,否則,請仔細查看錯誤信息。

下面是兩個常見的錯誤,如果你正好遇到了,那就照着下面的解決辦法解決一下。

1)遇到錯誤: ./bin/mysqld: error while loading shared libraries: libstdc++.so.5:cannot

open shared object file:

解決辦法:

# yum install -y compat-libstdc++-33

2)遇到錯誤: ./scripts/mysql_install_db: ./bin/my_print_defaults:/lib/ld-linux.so.2: bad

ELF interpreter: No such file or directory

這是因爲,你的系統版本和 mysql 版本不一致。比如,你的系統是 32 位,結果你下載

了一個 64 位的包。所以,解決辦法是,下載合適的包。

[root@master mysql]# cp support-files/my-large.cnf/etc/my.cnf

cp:是否覆蓋"/etc/my.cnf" y

         //使用安裝包中提供的配置模版文件到替代系統自帶/etc/my.cnf文件(my.cnf只能存放在/etc/或者是dasedir目錄下)

[root@master mysql]# cpsupport-files/mysql.server /etc/init.d/mysqld

[root@master mysql]# chmod 755/etc/init.d/mysqld

[root@master mysql]# chkconfig --add mysqld

[root@master mysql]# chkconfig mysqld on

         //使用安裝包中提供的啓動腳本文件,將mysql加入到系統服務列表裏。

[root@master mysql]# service mysqld start

Starting MySQL.Manager of pid-file quitwithout updating fi[失敗]

         //啓動失敗,提示pid文件沒有更新。解決方法:編輯啓動配置文件/etc/init.d/mysqld,設置basedir=/usr/local/mysqldatadir=/data/mysql

[root@master mysql]# service mysqld start

Starting MySQL.                                            [確定]

[root@master mysql]# ps aux|grep mysql

[root@master mysql]# netstat -lnp|grepmysql

//查看服務是否啓動成功。

[root@master mysql]#/usr/local/mysql/bin/mysqladmin -u root password '123456'

         //默認mysqlroot用戶密碼爲空,爲了安全性我們應該設置mysqlroot用戶密碼。(修改密碼可以使用命令mysqladmin –u root –p password 'new-password',輸入舊密碼)

 

放了能夠方便使用mysql的命令,我們應該將路徑/usr/local/mysql/bin加入PATH變量中

[root@master mysql]# vi/etc/profile.d/path.sh

PATH=$PATH:/usr/local/mysql/bin/

[root@master mysql]# source/etc/profile.d/path.sh

 

Apache安裝

常見的源代碼包都是用C語言開發的,所以再編譯安裝源代碼包前,應該先安裝linux下的C語言編譯器gcc

[root@slave ~]# yum install –y gcc

 

[root@master ~]# cd /usr/local/src

[root@master src]# wget http://mirrors.sohu.com/apache/httpd-2.2.31.tar.bz2

[root@master src]# tar -xjvfhttpd-2.2.24.tar.bz2

[root@master src]# cd httpd-2.2.24

[root@slave httpd-2.2.24]# ./configure \

--prefix=/usr/local/apache2 \

--with-included-apr \

--enable-so \

--enable-deflate=shared \

--enable-expires=shared \

--enable-rewrite=shared \

--with-pcre

         //配置編譯參數,生成Makefile文件

[root@slave httpd-2.2.24]# echo $?

0

//校驗配置編譯參數的過程是否出錯

如果./configure 這一步你出現了這樣的錯誤:

error: mod_deflate has been requested butcan not be built due to prerequisite failures

解決辦法是:

# yum install -y zlib-devel

爲了避免在 make 的時候出現錯誤,所以最好是提前先安裝好一些庫文件:

# yum install -y pcre pcre-devel aprapr-devel

[root@slave httpd-2.2.24]# make &&make install

         //編譯、安裝

[root@slave httpd-2.2.24]# cd/usr/local/apache2/

[root@slave apache2]# bin/apachectl –M

         //查看apachempm工作模式

常見的mpmpreforkworkerevent2.2版本默認使用的mpmprefork2.4版本默認使用的是event。編譯時可以使用參數—with-mpm=preforkworkerevent選擇mpm工作模式(如果選擇event還要加上一條參數 --enable-nonportable-atomics=yes )。

PreforkWorkerEvent三種MPM分析:

http://www.cnblogs.com/fnng/archive/2012/11/20/2779977.html

 

[root@slave apache2]#PATH=$PATH:/usr/local/apache2/bin

[root@slave apache2]# vi/etc/profile.d/path.sh

PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache2/bin

apache添加到啓動服務列表裏:

[root@slave ~]# cp/usr/local/apache2/bin/apachectl /etc/init.d/httpd

[root@slave ~]# vim /etc/init.d/httpd

添加語句# chkconfig: - 66 66

[root@slave ~]# chkconfig --add httpd

[root@slave ~]# chkconfig httpd on

[root@slave ~]# service httpd start

[root@slave ~]# ps aux|grep httpd

[root@slave ~]# netstat -lnp|grep httpd

Php安裝

[root@slave apache2]# cd

[root@slave ~]# cd /usr/local/src/

[root@slave src]# tar -xzvfphp-5.4.44.tar.gz

[root@slave src]# cd php-5.4.44

[root@slave php-5.4.44]# yum –y installepel-release

[root@slave php-5.4.44]# yum -y installlibxml2-devel openssl-devel bzip2 bzip2-devel libpng-devel libjpeg-turbo-devel freetypefreetype-devel libmcrypt-devel

         //爲了避免出錯,編譯安裝前先安裝一些依賴的包

[root@slave php-5.4.44]# ./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

在這一步,遇到如下錯誤:

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 openssl-devel

錯誤:

checking for BZip2 in default path... notfound

configure: error: Please reinstall theBZip2 distribution

解決辦法:

# yum install -y bzip2 bzip2-devel

錯誤:

configure: error: png.h not found.

解決辦法:

# yum install -y libpng libpng-devel

錯誤:

configure: error: freetype.h not found.

解決辦法:

# yum install -y freetype freetype-devel

錯誤:

configure: error: jpeglib.h not found.

解決方法:

# yum -y install libjpeg-turbo-devel

錯誤:

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

解決辦法:

# yum install -y epel-release

# yum install -y libmcrypt-devel

因爲 centos6 默認的 yum 源沒有 libmcrypt-devel 這個包,只能藉助 epel yum 源。

[root@slave php-5.4.44]# make &&make install

[root@slave php-5.4.44]# echo $?

[root@slave php-5.4.44]# 0

[root@slave php-5.4.44]# cpphp.ini-production /usr/local/php/etc/php.ini

[root@slave php-5.4.44]# vim /usr/local/php/etc/php.ini

找到;date.timezone = 修改爲date.timezone = Asia/Shanghai

 

[root@slave ~]# vim/usr/local/apache2/conf/httpd.conf

找到:

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

</Directory>

改爲:

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>

找到:

AddType application/x-gzip .gz .tgz

在該行下面添加:

AddType application/x-httpd-php .php

關聯php,讓apache能實現解析php腳本

找到:

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

將該行改爲:

<IfModule dir_module>

DirectoryIndex index.html index.htmindex.php

</IfModule>

添加默認索引頁

再找到:

#ServerName www.example.com:80

修改爲:

ServerName localhost:80

如果不去掉#,則啓動 apache 時,會有警告信息“httpd: Could not reliably determine the

server's fully qualified domain name, usinglocalhost.localdomain for ServerName”,看起來像是

錯誤,其實沒有影響。

[root@slave ~]# apachectl -t

Syntax OK

         //檢查配置文件是否有錯

測試是否成功解析php文件

[root@slave ~]# vim/usr/local/apache2/htdocs/index.php

<?php

phpinfo()

?>

[root@slave ~]# service httpd restart

[root@slave ~]# curl localhost/index.php

This is test![root@slave ~]#


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