在企業級的服務器中構建LAMP平臺中,最常用的是通過源碼包的方式來創建,因爲系統自帶的rpm包由於版本比較老,對新功能的支持並不是太好,而且有些功能對自己的企業並沒有什麼用處,而官方提供的提供的rpm已經把它編譯到其中,如果我們使用rpm時必須完全使用官方提供的,自己安裝其中一個組件想和rpm提供的接口連接又比較困難,所以在這篇文章中我將向大家介紹一下通過源碼包構建LAMP架構。
利用×××LAMP主要有以下三個步驟:
1. ./configure(腳本)--prefix(指明安裝路徑)--sysconfir(安裝完後配置腳本配置路徑)
2. Make (編譯成二進制文件或模塊)
3. make install
這些服務的源代碼我們可以試着在它的官網上下載
Apache (官網) www.apache.org
Mysql (官網) www.mysql.com
Php (官網) www.php.net
安裝這些包前,我們還需要提前配置好一些編譯環境 gcc glib
我們可以是使用yum grouplist 查看包組
主要需要安裝的包組有:
Development Libraries 開發庫
Legacy Software Development 傳統軟件的開發工具
Development Tools 開發工具
基於圖形的開發工具:
KDE Software Development kde的軟件開發工具
X Software Development gename 的軟件開發工具
Java Development 依賴於java的開發工具
這些開發工具包組,我們將沒有安裝的一個個安裝:
yum groupinstall "KDE Software Development" 使用這種方法一個個安裝
將下載過得源代碼導入到linux系統中:
#########安裝mysql#################
[root@uodekoaix ~]# mkdir /mnt/cdrom
[root@uodekoaix ~]# mount /dev/cdrom /mnt/cdrom //創建並掛載光盤
[root@uodekoaix ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo //yum服務器搭建
[root@uodekoaix ~]# yum grouplist //查看源代碼安裝所必須的開發庫開發工具是否安裝
[root@uodekoaix ~]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/ //解壓文件
[root@uodekoaix ~]# cd /usr/local/mysql-5.5.15-linux2.6-i686/
[root@uodekoaix mysql-5.5.15-linux2.6-i686]# less INSTALL-BINARY //查看幫助文件,其中說明了配置步驟
[root@uodekoaix local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql //將mysql-5.5.15-linux2.6-i686超鏈接到mysql
[root@uodekoaix local]# cd mysql //可直接使用cdmysql切換到mysql-5.5.15-linux2.6-i686目錄下
[root@uodekoaix mysql]# groupadd mysql //創建組
[root@uodekoaix mysql]# useradd -r -g mysql mysql //創建賬號並將賬號加入到組中
[root@uodekoaix mysql]# cd /usr/local //切換到local目錄
[root@uodekoaix local]# cd mysql //切換到mysql目錄下
[root@uodekoaix mysql]# chown -R mysql . //改變mysql目錄下所有子對象的所有者爲mysql
[root@uodekoaix mysql]# chgrp -R mysql . //改變改變mysql目錄下所有子對象的所屬組爲mysql
[root@uodekoaix mysql]# scripts/mysql_install_db --user=mysql //以mysql身份進行初始化
[root@uodekoaix mysql]# chown -R root . //將所有的子對象的所有者改回管理員
[root@uodekoaix mysql]# chown -R mysql data //data目錄所有者仍爲mysql
[root@uodekoaix mysql]# cp support-files/my-medium.cnf /etc/my.cnf //在etc下生成mysql的配置文件
[root@uodekoaix mysql]# bin/mysqld_safe --user=mysql & //啓動mysql
[root@uodekoaix mysql]# cp support-files/mysql.server /etc/init.d/mysqld // 在etc下生成mysql的控制腳本,實現service mysqld start
將mysql的頭文件與庫文件導出,便於系統的查找
系統的庫文件主要存在三個位置:/lib /usr/lib /usr/local/lib
/etc/ld.so.conf.d定義非標準軟件包安裝庫文件鏈接
[root@uodekoaix mysql]# chkconfig --list |grep mysql
mysqld 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉 //2345級別默認開啓
[root@uodekoaix mysql]# chkconfig --add mysqld //實現開機自啓動
[root@uodekoaix mysql]# ll /etc/rc.d/rc3.d/ |grep mysql //64表示start
lrwxrwxrwx 1 root root 16 08-29 07:04 S64mysqld -> ../init.d/mysqld [root@uodekoaix mysql]# cd /etc/ld.so.conf.d/
[root@uodekoaix ld.so.conf.d]# vim mysql.conf //編輯文件
[root@uodekoaix ld.so.conf.d]# ldconfig -v |grep mys #搜索庫文件
[root@uodekoaix ld.so.conf.d]# cd /usr/local/mysql
[root@uodekoaix mysql]# cd /usr/include/
[root@uodekoaix include]# ln -s /usr/local/mysql/include/ mysql //創建鏈接
[root@uodekoaix include]# ll mysql/ #顯示頭文件
####################安裝apache################
[root@uodekoaix ~]# tar -jxvf httpd-2.2.19.tar.bz2 -C /usr/local/src/ //解壓文件
[root@uodekoaix ~]# cd /usr/local/src/
[root@uodekoaix src]# ll //顯示解壓的文件
[root@uodekoaix src]# cd httpd-2.2.19/
[root@uodekoaix httpd-2.2.19]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --with-z //測試
[root@uodekoaix httpd-2.2.19]# make //編譯
[root@uodekoaix httpd-2.2.19]# make install //把文件放到相應目錄
[root@uodekoaix httpd-2.2.19]# cd /usr/local/apache/bin
[root@uodekoaix bin]# file apachectl //查看文件類型
apachectl: Bourne shell script text executable //Bourne shell腳本可執行的
[root@uodekoaix bin]# vim apachectl
[root@uodekoaix bin]# ./apachectl start //啓動apache
[root@uodekoaix bin]# netstat -tupln |grep 80 //搜索80端口是否啓動
暫未實現service httpd start 和chkconfig httpd on
[root@uodekoaix apache]# cd /etc/ld.so.conf.d/ //切換目錄
[root@uodekoaix ld.so.conf.d]# vim httpd.conf //創建文件
[root@uodekoaix ld.so.conf.d]# cd /usr/local/apache/lib/
[root@uodekoaix lib]# ldconfig –v
[root@uodekoaix lib]# ldconfig -pv |grep apr //搜索跟apache相關的
[root@uodekoaix lib]# cd /etc/ld.so.conf.d/
[root@uodekoaix ld.so.conf.d]# cd /usr/include/
[root@uodekoaix include]# ln -s /usr/local/apache/include/ apache //創建超鏈接
[root@uodekoaix include]# ll apache / //查看頭文件
######################安裝PHP################
[root@uodekoaix ~]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src //解壓文件
[root@uodekoaix ~]# cd /usr/local/src/
[root@uodekoaix src]# ll
總計 8
drwxr-xr-x 12 zhaoke zhaoke 4096 08-29 08:22 httpd-2.2.19
drwxr-xr-x 13 1000 1000 4096 2011-08-17 php-5.3.7
[root@uodekoaix src]# cd php-5.3.7/
[[email protected]]#./configure--prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all
[[email protected]]#make //編譯
[[email protected]]#make install //將文件放到相應目錄
[[email protected]]cd /usr/local/apache/htdocs
[root@uodekoaix htdocs]# /usr/local/bin/apachectl start
[root@uodekoaix htdocs]# ll
[root@uodekoaix htdocs]# vim /etc/httpd/httpd.conf
測試httpd
[root@uodekoaix htdocs]# vim /etc/httpd/httpd.conf
測試可以調用mysql
[root@uodekoaix htdocs]# mv index.html index.php //將文件index.html改爲index.html
[root@uodekoaix htdocs]# vim /etc/httpd/httpd.conf
測試可以調用php
LAMP源碼的搭建已經完成,接着可以做應用了。。。。。