LAMP編譯源代碼安裝Apache Mysql php

編譯安裝:

./configure (Makefile.in --> makefile)
make
make install 實現安裝
setenforc 0 關閉selinux

1.手動安裝apache

yum  -y gorupinstall "Development Tool " "Development Libraries" "X Software development"
開發環境
lftp 192.168.0.254/pub/Sources/LAMP/
httpd-2.2.17.tar.bz2
tar jvxf httpd-2.2.4.tar.bz2
cd httpd.2.2.4
less  INSTALL
less README
./configure
--prefix=/usr/local/apache 安裝路徑
--sysconfdir=/etc/httpd  配置文件的安裝路徑
--enable-so   啓用動態裝載模塊的功能
--enable-ssl
--enable-track-vars
--enable-rewrite     url地址重寫在內部基於url重寫
--with-zlib 壓縮工具 網絡傳輸時用於實現數據的壓縮傳輸
--enable-mods-shared=most 可以共享給其他人的模塊

make
make install

less INSTALL
less README

/etc/rc.local

scp 192.168.0.254:/etc/init.d/httpd ./

vim httpd
apachectl=/usr/local/apache/bin/apachectl
httpd= /usr/local/apache/bin/httpd
prog=httpd
進程號文件pidfile=${PIDFILE-/var/run/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd} 系統是否已經啓動一次,避免啓動兩次
RETVAL=0
刪除check13,在start中關於check13的。檢查版本號是否是1.3

/usr/local/apache/bin/apachectl start
測試一下
killall httpd
vim /etc/httpd/httpd.conf
Pidfile "/var/rum/httpd.pid"
配置文件在/etc/httpd/httpd.conf

cp httpd  /etc/init.d
可以使用service命令和chkconfig
service httpd restart
/usr/local/apache/bin/apachectl start 開啓
chkconfig --add httpd
chkconfig httpd on
chkconfig --list httpd

爲了可以方便的使用httpd命令所以我們必須在/etc/profile 中做一些修改
vim /etc/profile
PATH=$PATH:/usr/local/apache/bin
.!$

man -M /usr/local/apache/man/
vim /etc/man.config
MANPATH /usr/local/apache/man
導出頭文件和庫文件
ln -sv /usr/lcoal/apache/include /usr/include/apache 輸出頭文件

vim /etc/ld.so.conf.d/apache.conf 輸出庫文件
/usr/local/apache/lib

ldconfig -v 重新導入

在/etc/httpd/extra/httpd-dav.conf
/etc/httpd/extra/httpd-vhosts.conf中設置虛擬主機
hwclock -s 和硬件時間同步
crontab -e
*/1 * * * * /sbin/hwclock -s &> /dev/null
crontab -l 查看
reload 相當於向進程傳遞信號1
查看信號 man 7 signal
kill -l
$@ 顯示所有未知參數

這樣apache就編譯好了-_-|||o(≧v≦)o~~好棒

2.編譯安裝mysql
二進制格式,解壓縮之後簡單配置就可以使用
lftp 192.168.0.254
cd pub/Sources/mysql-5.5
get mysql-5.5.15-linux2.6-i686.tar.gz
tar xf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
ln -sv mysql-5.5.15-linux2.6-i686.tar.gz   mysql
cd /usr/local
groupadd  mysql 創建系統組
useradd  -g mysql -s /bin/nologin -M mysql
cd mysql
chown -R mysql:mysql .
scripts/mysql_install_db --help
數據文件如果不指定數據目錄,就會存放在當前目錄的data中,數據庫需要進行不停的備份,所以就要使用LVM的快照,所以要創建一個邏輯卷LVM
fdisk /dev/sda
添加一個大小爲10G分區/dev/sda5,類型爲8e
partprobe /dev/sda
pvcreate /dev/sda5
vgcreate myvg /dev/sda5
lvcreate -L 5G -n mydata myvg
mke2fs -j /dev/myvg/mydata
mkdir /mydata
開機掛載 vim /etc/fstab 添加
/dev/myvg/mydata   /mydata   etx3 defaults 0 0
保存退出
mount -a
不能把數據直接放在/mydata中,所以
mkdir /mydata/data
chown -R mysql:mysql /mydata/data
scripts/mysql_install_db --user=mysql --datadir=/mydata/data
初始化MYSQL數據庫

[root@www mysql]#chown -R root .
接下來我們就可以使用/usr/local/mysql/bin/mysqld start啓動mysql了,但是這樣太複雜了,所以我們需要爲mysql提供配置文件,
cd support-files/
cp my-large.cnf /etc/my.cnf   mysql的配置文件
vim /etc/my.cnf  修改
[mysqld]
datadir = /mydata/data  修改數據目錄的位置
保存退出

cp mysql.server /etc/init.d/mysqld
這樣以後我們就可以使用service mysqld start 了

chkconfig --add mysqld
chkconfig --list mysqld
監聽tcp的3306 端口
netstat -tnlp 監聽端口

爲了可以更方便的使用mysql命令,所以我們需要修改/etc/profile 的PATH參數
vim /etc/profile
PATH=$PATH:/usr/local/apache/bin:/usr/local/mysql/bin
保存退去
.!$ 重讀這個文件
我們就可以使用mysql命令了

接下來我們就需要導出mysql的頭文件,庫文件,和man文件了

ln -sv /usr/local/mysql/include /usr/include/mysql
vim /etc/ld.so.conf.d/mysql.conf 庫文件
/usr/local/mysql/lib
ldconfig -v 重載

vim /etc/man.config
MANPATN /usr/local/mysql/man

這樣以後我們就編譯好mysql了(*^◎^*)↖(^ω^)↗

3.安裝php
tar xf php-5.3.6.tar.bz2

mkdir -p /usr/local/php
 cd php-5.3.6
./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 --with-xml --with-png --with-jpeg --with-zlib --with-freetype --with-gd --enable-track-vars --enable-mbstring=all

make
make install

cp php.ini-dist /usr/local/php/lib/php.ini  把php的配置文件放到這裏

php安裝之後apache不會直接識別php,需要我們手動修改apache的配置文件,使apache可以支持php

vi /etc/httpd/httpd.con
1.天機如下二行
AddType applicatin/x-httpd-php  .php
AddType applicatin/x-httpd-php-source  .phps
2.定位至DirectoryIndex index.html
修改爲:
DirectoryIndecence index.php index.html
3.找到DocumentRoot "/usr/local/apache/htdocs" 修改爲:DocumentRoot "/var/www"  後文中我們還會註釋掉此行,以啓用虛擬主機
<DocumentRoot "/usr/local/apache/htdocs">
<DocumentRoot "/var/www">
保存退出

需要關閉selinux  setenforce 0

此時php加載成功,我們可以簡單測試一下。在/var/www,目錄下添加index.php。

我們也可以測試是否可以連上mysql。

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