lamp環境搭配(centos6.4)

(一)若是你的服務器沒有連接網絡能夠先掛載本地光盤。設置yum源。php


掛載光盤:html

[root@delphi ~]# mkdir /mnt/cdrom     #新建掛載點
[root@delphi ~]# mount /dev/cdrom /mnt/cdrom/     #掛載本地光盤
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@delphi ~]#

 


配置yum源:mysql

[root@delphi ~]# cd /etc/yum.repos.d/
[root@delphi yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
[root@delphi yum.repos.d]# vi CentOS-Media.repo 
# CentOS-Media.repo
#
# This repo can be used with mounted DVD media, verify the mount point for
# CentOS-6. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c6-media [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c6-media [command]

[c6-media]
name=CentOS-$releasever - Media    
baseurl=file:///mnt/cdrom/     #指定了三個光盤有可能掛載的路徑。
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=1     #enabled=0 這裏的0表明缺省源不存在,1表明啓用。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

# wq保存退出。

 

若是你的linux可以上互聯網,那麼備份Base這個配置文件。linux

[root@delphi yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

 

 

(二)保證你的電腦裏安裝了gcc gcc-c++ make,若是沒有應該先安裝c++

[root@delphi ~]# yum install gcc -y
[root@delphi ~]# yum install gcc-c++ -y

 

 

(三)卸載apache php mysql rpm軟件包。個人系統裏沒有裝。方法不少,不一一羅列。sql

查看服務有沒有啓動:數據庫

[root@delphi ~]# service httpd status
httpd: 未被識別的服務
[root@delphi ~]# service mysqld status
mysqld: 未被識別的服務

[root@delphi ~]# rpm -qa httpd
[root@delphi ~]# rpm -qa mysql
[root@delphi ~]# rpm -qa mysqld
[root@delphi ~]# rpm -qa | grep php

 

若是你的系統裏有這些包,那麼rpm -e packagename或者yum remove packagename(解決依賴卸載)。apache

 

(四)關閉SElinux 容許iptables相關端口api

1.關閉selinux的兩種方法。--永久關閉。(須要重啓系統)瀏覽器

[root@delphi ~]# vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled     # 把SELINUX=enforcing 更改成SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

 


2.臨時關閉(不須要重啓系統)

[root@delphi ~]# setenforce 0

 


(五)準備源碼部署須要安裝的全部源代碼包

libxml2-2.6.30.tar.gz
libmcrypt-2.5.8.tar.gz
zlib-1.2.3.tar.gz
libpng-1.2.31.tar.gz
jpegsrc.v6b.tar.gz
freetype-2.3.5.tar.gz
autoconf-2.61.tar.gz
gd-2.0.35.tar.gz
httpd-2.2.9.tar.gz
ncurses-5.6.tar.gz
mysql-5.0.41.tar.gz
php-5.2.6.tar.gz
ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz
phpMyAdmin-3.0.0-rc1-all-languages.tar.gz

[root@delphi ~]# cd /root/lamp
[root@delphi lamp]# ls
autoconf-2.61.tar.gz libmcrypt-2.5.8.tar.gz php-5.2.6.tar.gz
freetype-2.3.5.tar.gz libpng-1.2.31.tar.gz phpMyAdmin-3.0.0-rc1-all-languages.tar.gz
gd-2.0.35.tar.gz libxml2-2.6.30.tar.gz ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz
httpd-2.2.9.tar.gz mysql-5.0.41.tar.gz zlib-1.2.3.tar.gz
jpegsrc.v6b.tar.gz ncurses-5.6.tar.gz

 


這裏寫一個解壓源碼包的腳本。

#!/bin/bash
cd /root/lamp
ls * > lamp.list
for i in $(cat lamp.list)
do
tar zxf $i
done

運行腳本:

[root@delphi ~]# sh lamp.sh


查看解壓:

[root@delphi lamp]# ls
autoconf-2.61 jpeg-6b libxml2-2.6.30.tar.gz phpMyAdmin-3.0.0-rc1-all-languages.tar.gz
autoconf-2.61.tar.gz jpegsrc.v6b.tar.gz mysql-5.0.41 ZendOptimizer-3.2.6-linux-glibc21-i386
freetype-2.3.5 lamp.list mysql-5.0.41.tar.gz ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz
freetype-2.3.5.tar.gz libmcrypt-2.5.8 ncurses-5.6 zlib-1.2.3
gd-2.0.35 libmcrypt-2.5.8.tar.gz ncurses-5.6.tar.gz zlib-1.2.3.tar.gz
gd-2.0.35.tar.gz libpng-1.2.31 php-5.2.6
httpd-2.2.9 libpng-1.2.31.tar.gz php-5.2.6.tar.gz
httpd-2.2.9.tar.gz libxml2-2.6.30 phpMyAdmin-3.0.0-rc1-all-languages

 


(六)開始搭建lamp環境
安裝三步走configure ---make ---make install

configure 檢測系統配置,檢測軟件安裝所須要的軟件。
make 編譯二進制文件爲可執行文件。
make install 安裝軟件。


1.編譯安裝xml2

[root@delphi lamp]#cd libxml2-2.6.30
[root@delphi libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2/
[root@delphi libxml2-2.6.30]# make && make install

 

2.一樣的方法安裝libmcrpyt

[root@delphi lamp]# cd libmcrypt-2.5.8
[root@delphi libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt/
[root@delphi libmcrypt-2.5.8]# make && make install

 

3.編譯安裝zlib (zlib是個庫文件,這裏爲了防止後期出錯,不用指定路徑,若是是64位系統,請參見安裝libpng排錯的方法安裝。)

[root@delphi lamp]# cd zlib-1.2.3
[root@delphi zlib-1.2.3]# ./configure
[root@delphi zlib-1.2.3]# make && make install

 

編譯安裝libpng若是出現以下錯誤,是應爲你的環境是64位系統,匹配不了zlib庫。
/usr/local/lib/libz.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [libpng12.la] 錯誤 1
make[1]: Leaving directory `/root/packget/libpng-1.2.31'
make: *** [all] 錯誤 2
解決辦法:從新新安裝 zlib

tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure

vi Makefile
找到 CFLAGS=-O3 -DUSE_MMAP
在後面加入-fPIC,即變成CFLAGS=-O3 -DUSE_MMAP -fPIC
接下面步驟
make
make install

 

4.編譯安裝libpng

[root@delphi lamp]# cd libpng-1.2.31
[root@delphi libpng-1.2.31]# ./configure -prefix=/usr/local/libpng/
[root@delphi libpng-1.2.31]# make && make install

 

5.安裝jpeg6

這源碼包的安裝相對複雜一點。由於其不會自動建立對應的目錄,首先咱們本身手動創建目錄

/usr/local/jpeg6/ #建立安裝目錄
/usr/local/jpeg6/bin/ #建立可執行文件目錄
/usr/local/jpeg6/lib/ #建立庫文件愛你存放目錄
/usr/local/jpeg6/include #建立頭文件存放目錄
/usr/local/jpeg6/man/man1 #建立man手冊中的命令幫助,man1指的是命令幫助, man5配置文件的幫助。

[root@delphi lamp]# cd jpeg-6b/
[root@delphi jpeg-6b]# mkdir /usr/local/jpeg6/ && mkdir /usr/local/jpeg6/bin/ && mkdir /usr/local/jpeg6/lib/ && mkdir /usr/local/jpeg6/include
[root@delphi jpeg-6b]# mkdir -p /usr/local/jpeg6/man/man1

[root@delphi jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
[root@delphi jpeg-6b]# make && make install

 

*************************************************************************
./libtool --mode=compile gcc -O2 -I. -c ./jcapimin.c
make: ./libtool:命令未找到
make: *** [jcapimin.lo] 錯誤 127
出現以上錯誤的解決辦法:
[root@delphi jpeg-6b]# cp /usr/share/libtool/config/config.sub /root/packget/jpeg-6b/
[root@delphi jpeg-6b]# cp /usr/share/libtool/config/config.guess /root/packget/jpeg-6b/
而後:
[root@delphi jpeg-6b]# make clean
再執行:
[root@delphi jpeg-6b]# make
[root@delphi jpeg-6b]# make install
************************************************************************

 

6.編譯安裝freetype

[root@delphi lamp]# cd freetype-2.3.5
[root@delphi freetype-2.3.5]# ./configure --prefix=/usr/local/freetype/
[root@delphi freetype-2.3.5]# make && make install

 

7.編譯安裝autoconf

[root@delphi lamp]# cd autoconf-2.61
[root@delphi autoconf-2.61]# ./configure
[root@delphi autoconf-2.61]# make && make install

 

8.編譯安裝gd庫:

[root@delphi lamp]# cd gd-2.0.35
[root@delphi gd-2.0.35]# ./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
#備註一下:這裏若是你的zlib庫是指定路徑,那麼能夠--with-zlib=/$PATH
[root@delphi gd-2.0.35]# make && make install

 

9.編譯安裝apache:

[root@delphi lamp]# cd httpd-2.2.9
[root@delphi httpd-2.2.9]# ./configure --prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support 
[root@delphi httpd-2.2.9]# make && make install

[root@delphi httpd-2.2.9]# /usr/local/apache2/bin/apachectl start
[root@delphi httpd-2.2.9]# pgrep httpd
27652
27653
27654
27655
27656
27657

 

若是沒有禁止selinux
那麼使用以下命令開啓模塊權限:
[root@delphi ~]# chcon -t texrel_shlib_t modulename
經過瀏覽器訪問服務器,若是反回It‘s works ! 表示安裝成功。

 

10.編譯安裝mysql以前須要安裝編譯nourses:

[root@delphi lamp]# cd ncurses-5.6
[root@delphi ncurses-5.6]# ./configure --with-shared --without-debug --without-ada --enable-overwrite
[root@delphi ncurses-5.6]# make && make install

 

11.編譯安裝mysql:

首先建立mysql用戶以及用戶組:

[root@delphi lamp]# cd mysql-5.0.41
[root@delphi mysql-5.0.41]# groupadd mysql
[root@delphi mysql-5.0.41]# grep mysql /etc/group
mysql:x:501:
[root@delphi mysql-5.0.41]# useradd -g mysql mysql

[root@delphi mysql-5.0.41]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all
[root@delphi mysql-5.0.41]# make && make install

 

配置mysql:把源碼包中的my-medium.cnf拷貝的/etc/下命名爲my.cnf

[root@delphi mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf

啓動用戶的受權表:

[root@delphi mysql-5.0.41]# /usr/local/mysql/bin/mysql_install_db --user=mysql

改變目錄權限:

[root@delphi mysql-5.0.41]# chown -R root /usr/local/mysql     #改變mysql所屬用戶
[root@delphi mysql-5.0.41]# chown -R mysql /usr/local/mysql/var     #改變mysql下var這個目錄所屬用戶
[root@delphi mysql-5.0.41]# chgrp -R mysql /usr/local/mysql     #改變mysql的所屬組,這裏的-R是權限繼承到子目錄

啓動:mysql

[root@delphi mysql-5.0.41]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[1] 25856
[root@delphi mysql-5.0.41]# nohup: 忽略輸入重定向錯誤到標準輸出端
Starting mysqld daemon with databases from /usr/local/mysql/var     #表示數據存放路徑。回車既可。

查看mysql是否啓動:

[root@delphi mysql-5.0.41]# pgrep mysql

查看mysql的版本:

[root@delphi mysql-5.0.41]# /usr/local/mysql/bin/mysqladmin version

查看mysql配置參數:

[root@delphi mysql-5.0.41]# /usr/local/mysql/bin/mysqladmin variables

 

設置mysql的用戶密碼:

[root@delphi mysql-5.0.41]# /usr/local/mysql/bin/mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.41-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> set password for 'root'@'localhost'=PASSWORD('123456');
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

 

把apache和mysql 加入啓動項

[root@delphi mysql-5.0.41]# echo "/usr/local/apache2/bin/apachectl start" >>/etc/rc.d/rc.local
[root@delphi mysql-5.0.41]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local

 

或者:

[root@delphi ~]# cd lamp/mysql-5.0.41
[root@delphi mysql-5.0.41]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@delphi mysql-5.0.41]# chown root.root /etc/rc.d/init.d/mysqld
[root@delphi mysql-5.0.41]# chmod 755 /etc/rc.d/init.d/mysqld 
[root@delphi mysql-5.0.41]# chkconfig --add mysqld
[root@delphi mysql-5.0.41]# chkconfig --list mysqld
mysqld 0:關閉1:關閉2:啓用3:啓用4:啓用5:啓用6:關閉
[root@delphi mysql-5.0.41]# chkconfig --levels 245 mysqld off #設置運行級別啓動項的方法.
[root@delphi mysql-5.0.41]# chkconfig --list mysqld 
mysqld 0:關閉1:關閉2:關閉3:啓用4:關閉5:關閉6:關閉
[root@delphi mysql-5.0.41]# chkconfig --levels 245 mysqld on #更改回原來的運行級別

 

12.安裝php:

[root@delphi lamp]# cd php-5.2.6
[root@delphi php-5.2.6]# ./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-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

[root@delphi php-5.2.6]# make && make install

[root@delphi php-5.2.6]# cp php.ini-dist /usr/local/php/etc/php.ini
[root@delphi php-5.2.6]# echo "Addtype application/x-httpd-php .php .phtml" >> /etc/httpd/httpd.conf
[root@delphi php-5.2.6]# /usr/local/apache2/bin/apachectl restart

 

13.安裝Zend加速器

[root@delphi lamp]# cd ZendOptimizer-3.2.6-linux-glibc21-i386
[root@delphi ZendOptimizer-3.2.6-linux-glibc21-i386]# ./install.sh 

 

安裝過程選擇正確的 php.ini 文件所在目錄 和 apache控制命令所在目錄

 

14.安裝 phpmyadmin 方便管理mysql數據庫

[root@delphi lamp]# mv phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmin
相關文章
相關標籤/搜索