lamp

一、安裝一些下來要用到的包!
1、安裝OpenSSL
tar zxvf openssl-0.9.8e.tar.gz
cd openssl-0.9.8e
./config --prefix=/usr/local/openssl shared
make
make install
修改(此步驟非常重要,至少對於現有的軟件版本)
vi /etc/ld.so.conf 添加一行/usr/local/openssl/lib/
/sbin/ldconfig

2、安裝Curl
   # tar -zxf curl-7.15.0.tar.gz
     進入解壓後的目錄
   # ./configure --prefix=/usr/local/curl
   # make; make install

3、安裝expat
cd /usr/local/src
tar -zxvf expat-2.0.0.tar.gz
cd expat-2.0.0
./configure --prefix=/usr/local/expat
make;make install


4、安裝libxml2
#解壓,並進入解壓後的目錄
#./configure --prefix=/usr/local/libxml2
#make;make install

5、安裝zlib(默認安裝,請勿自作主張修改)
#解壓
#進入解壓後的目錄,./configure
#make;make install

6、安裝jpeg
# tar zxvf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# mkdir /usr/local/jpeg
# mkdir /usr/local/jpeg/bin
# mkdir /usr/local/jpeg/lib
# mkdir /usr/local/jpeg/include
# mkdir /usr/local/jpeg/man
# mkdir /usr/local/jpeg/man/man1
# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
# make;make install

7、安裝libpng

#解壓

#進入解壓後的目錄,./configure
#make;make install


8、安裝freetype
#解壓
#進入解壓後的目錄 ./configure --prefix=/usr/local/freetype
#make;make install

9、安裝gd
# tar zxvf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-png --with-zlib  
//編譯過程中會看到如下信息
** Configuration summary for gd 2.0.33:
   Support for PNG library:          yes
   Support for JPEG library:         yes
   Support for Freetype 2.x library: yes
   Support for Fontconfig library:   no
   Support for Xpm library:          no
   Support for pthreads:             yes
//可以看到png jpeg freetype都已經安裝上了
# make
# make install

10、安裝 libxslt
   # tar -zxf libxslt-1.1.15.tar.gz
   # cd libxslt-1.1.15
   # ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
   # make; make install

11、安裝libmcrypt(不然登錄phpmyadmin時提示缺少mcrypt*
#解壓,並進入解壓後的目錄
#mkdir /usr/local/libmcrypt
#./configure --prefix=/usr/local/libmcrypt
#make;make install
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

一、mysql安裝(mysql-standard-5.0.27-linux-i686-glibc23.tar.gz)
安裝文件放到了/usr/local/src目錄
1tar zxvf mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
2mv mysql-standard-5.0.27-linux-i686-glibc23.tar.gz /usr/local/mysql
3groupadd mysql mysql
4useradd -g mysql mysql 新增mysql用戶,並添加到mysql
5cd /usr/local/mysql
6scripts/mysql/mysql_install_db --user=mysql 創建mysql授權表,如果是mysql用戶登錄可省--user=mysql
7chown -R root .     當前目錄下的文件的所有屬性改爲root用戶
8chown -R mysql data  data數據目錄的所有屬性改爲mysql用戶
9chgrp -R mysql .     將組屬性改爲mysql
10bin/mysqld_safe --user=mysql &
11bin/mysqladmin -u root password '1qaz2wsx'  設置密碼
12cp support-files/my-medium.cnf /etc/my.cnf
數據庫目錄默認(/usr/local/var)
13vi /etc/rc.d/rc.local 添加 /usr/local/mysql/bin/mysqld_safe --user=mysql &

附:mysql.servermysqld_safe腳本和Mac OS X Startup Item可以用來手動啓動服務器,或自動啓動系統。mysql.serverStartup Item還可以用來停止服務器。
mysql.server腳本可以被用來啓動或停止服務器,通過用startstop參數調用它:
shell> mysql.server start
shell> mysql.server stop
mysql.server stop通過向服務器發出一個信號停止它。你可手動執行mysqladmin shutdown關閉服務器。
要想在服務器上自動啓動和停止MySQL,應在“/etc/rc * 文件中適當的地方增加啓動、停止命令。
要想手動安裝mysql.server(/usr/local/mysql/support-files),用名稱mysql將它複製到/etc/init.d目錄,然後將它變爲可執行文件。只需要將位置更改爲mysql.serveris所在並執行這些命令的相應目錄:
shell> cp mysql.server /etc/init.d/mysql
shell> chmod +x /etc/init.d/mysql
shell> chkconfig --level 345MySQL on
也可以在一個全局“/etc/my.cnf”文件中增加mysql.server的選項。一個典型的“/etc/my.cnf”文件可能看起來像這樣:
[mysql.server]
basedir=/usr/local/mysql

 

源代碼編譯安裝mysql

MySQL5.0.18的安裝

Yum install ncurses-devel(不安裝的話後面編譯mysql的時候會報錯!!!)

 

# cp mysql-5.0.18.tar.gz /home/mysql

# tar zxvf  mysql-5.0.18.tar.gz

# cd /home/mysql/mysql-5.0.18

# groupadd mysql

# useradd mysql -g mysql

 

# ./configure --prefix=/usr/local/mysql   //*指定安裝目錄

--without-debug    //*去除debug模式

--with-charset=gb2312   //*添加gb2312中文字符支持

--enable-assembler    //*使用一些字符函數的彙編版本

--without-isam    //*去掉isam表類型支持 現在很少用了 isam表是一種依賴平臺的表

--without-innodb  //*去掉innodb表支持 innodb是一種支持事務處理的表,適合企業級應用

--with-pthread    //*強制使用pthread(posix線程庫)

--enable-thread-safe-client   //*以線程方式編譯客戶端

--with-client-ldflags=-all-static

--with-mysqld-ldflags=-all-static   //*以純靜態方式編譯服務端和客戶端

 

#    

 

//*可以通過./configure help 查看關於此命令的一些參數

# make

# make install

# scripts/mysql_install_db --user=mysql   //*生成mysql用戶數據庫和表文件

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

//*copy配置文件,large,medium,small三個環境下的,根據機器性能選擇,如果負荷比較大,可修改裏面的一些變量的內存使用值

# cp support-files/mysql.server /etc/init.d/mysqld   //*copy啓動的mysqld文件

# chmod 700 /etc/init.d/mysqld

# cd /usr/local

# chmod –R 750 mysql

# chgrp -R mysql mysql

# chown –R mysql mysql/var

# cd /usr/local/mysql/libexec

# cp mysqld mysqld.old

# strip mysqld

# chkconfig --add mysqld

# chkconfig --level 234 mysqld on

# service mysqld start

# netstat -atln

看看有沒有3306的端口打開,如果mysqld不能啓動,看看/usr/local/mysql5/var下的出錯日誌,一般都是目錄權限沒有設置好的問題

# mysqladmin -uroot password "youpassword" #設置root帳戶的密碼

# mysql –u root -p

# 輸入你設置的密碼

mysql>use mysql;

mysql>delete from user where password=""; #刪除用於本機匿名連接的空密碼帳號

mysql>flush privileges;

mysql>quit


14Apache安裝
1、解壓,mkdir /usr/local/apache2
2、進入解壓後的目錄(菜鳥請嚴格按下面的參考)
./configure --prefix=/usr/local/apache2 --with-mysql=/usr/local/mysql  --enable-cgi --enable-ssl --with-ssl=/usr/local/openssl --enable-so --enable-rewrite --enable-modules=all --enable-mods-shared=all --enable-cache --enable-disk-cache" --enable-mem-cache --enable-deflate=shared
make
make install
設置成開機自啓動
/etc/rc.d/rc.local文件中加入一行
/usr/local/apache/bin/apachectl start
這樣每次重新啓動系統以後,apache也會隨系統一起啓動.
(註解:
./configure //配置源代碼樹
--prefix=/usr/local/apache2 //Apache的安裝目錄。
--enable-module=so //打開 so 模塊,so 模塊是用來提 DSO 支持的 apache 核心模塊
--enable-deflate=shared //支持網頁壓縮
--enable-expires=shared //支持 HTTP 控制
--enable-rewrite=shared //支持 URL 重寫
--enable-cache //支持緩存
--enable-file-cache //支持文件緩存
--enable-mem-cache //支持記憶緩存
--enable-disk-cache //支持磁盤緩存
--enable-static-support //支持靜態連接(默認爲動態連接)
--enable-static-htpasswd //使用靜態連接編譯 htpasswd - 管理用於基本認證的用戶文件
--enable-static-htdigest //使用靜態連接編譯 htdigest - 管理用於摘要認證的用戶文件
--enable-static-rotatelogs //使用靜態連接編譯 rotatelogs - 滾動 Apache 日誌的管道日誌程序
--enable-static-logresolve //使用靜態連接編譯 logresolve - 解析 Apache 日誌中的IP地址爲主機名
--enable-static-htdbm //使用靜態連接編譯 htdbm - 操作 DBM 密碼數據庫
--enable-static-ab //使用靜態連接編譯 ab - Apache HTTP 服務器性能測試工具
--enable-static-checkgid //使用靜態連接編譯 checkgid
--disable-cgid //禁止用一個外部 CGI 守護進程執行CGI腳本
--disable-cgi //禁止編譯 CGI 版本的 PHP
--disable-userdir //禁止用戶從自己的主目錄中提供頁面
--with-mpm=worker // apacheworker方式運行
--enable-authn-dbm=shared // 對動態數據庫進行操作。Rewrite時需要。
)

15、安裝php
# tar zxvf php-5.2.6.tar.gz
# cd php-5.2.6mkdir /usr/local/php
# ./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache/bin/apxs --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --with-zlib-dir=/usr/lib --with-libxml-dir=/usr/local/libxml2 --enable-shared --with-curl=/usr/local/curl --with-iconv --enable-mbstring --with-gd=/usr/local/gd --enable-gd-native-ttf --enable-gd-jis-conv --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/lib --enable-ftp  --enable-soap --with-mcrypt=/usr/local/libmcrypt  --enable-sockets  --enable-force-cgi-redirect --enable-inline-optimization --disable-debug --with-libexpat-dir=/usr/local/expat --with-xsl=/usr/local/libxslt --with-openssl=/usr/local/openssl --enable-calendar --with-config-file-path=/usr/local/php/etc  --disable-ipv6  --enable-fastcgi
make;make install
cp php.ini-dist  /usr/local/php/etc/php.ini
vi /usr/local/php/etc/php.ini
查找safe_mode=Off,更改爲safe_mode=On
1)查找max_execution_time = 30,更改爲max_execution_time = 600   
2)查找max_input_time = 60,更改爲max_input_time = 600
3)查找memory_limit = 8M ,更改爲memory_limit = 20M
4)查找display_errors = On,更改爲display_errors = Off
5)查找register_globals = Off,更改爲register_globals = On
6)查找post_max_size = 8M,更改爲post_max_size = 20M
7)查找upload_max_filesize = 2M,更改爲upload_max_filesize = 20M
8)查找session.auto_start = 0,更改爲session.auto_start = 1
執行:wq!命令保存後退出,從而完成了php.ini文件的配置工作。
更改apache的配製文件:得加幾行,目的是讓apache能解釋php程序。
查找AddType application/x-tar .tgz  行,在下面添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps
找到下面一行在後面加上index.php,這表示網站的默認頁也能夠爲index.php
DirectoryIndex index.html index.html.var index.php
現在apache就能夠運行php,寫個文件測試一下,/usr/local/apache/htdocs目錄下,新建一個phpinfo.php文件,
文件中只有一行代碼:
<? phpinfo(); ?>
保存此文件, 在你的瀏覽器中輸入http://localhost/phpinfo.php,你應該看到PHP的系統信息。
如果出現錯誤,比如提示你下載phpinfo.php,那麼apache就是還無法解析php文件,那麼請仔細檢查以上的操作是否正確.

 

 

16、安裝ZendOptimizer   
# tar zxvf ZendOptimizer*-i386.tar.gz
# cd ZendOptimizer*-i386
# ./install.sh
安裝操作: [ok] -> [EXIT] -> [YES] -> [/httpd/zend] -> [/httpd/apache/conf] -> [yes] -> [OK] -> [OK] -> [NO]



17、安裝phpmyadmin
1、解壓
2mv phpmyadmin* /usr/local/apache2/htdocs/phpmyadmin
3、進入phpmyadmin目錄,cp ./libraries/config.default.php ./config.inc.php
4# vi config.inc.php   //修改成如下:
查找 $cfg['PmaAbsoluteUri'] 修改爲你將上傳到空間的phpMyAdmin的網址 如:$cfg['PmaAbsoluteUri'] = 'http://192.168.1.11/onlyyouknow/';

查找 $cfg['Servers'][$i]['auth_type'] = 'config';
在自己的機子裏調試用config;如果在網絡上的空間用cookie,這裏我們既然在前面已經添加了網址,就修改成cookie ,這裏建議使用cookie.

查找 $cfg['Servers'][$i]['user'] = 'root';root去掉 // MySQL usermysql用戶名,自己機裏用root;)
查找 $cfg['Servers'][$i]['password'] = ''; // MySQL password (mysql用戶的密碼,自己的服務器一般都是mysql用戶root的密碼)
查找 $cfg['Servers'][$i]['only_db'] = ''; // If set to a db-name, only(你只有一個數據就設置一下;如果你在本機或想架設服務器,那麼建議留空)
查找 $cfg['DefaultLang'] = 'zh'; (這裏是選擇語言,zh代表簡體中文的意思,這裏不知道填gbk對否)
設置完畢後保存
果出現配置文件現在需要絕密的短語密碼(blowfish_secret)”那麼請在$cfg['blowfish_secret'] = ' ';的等號裏面設置你網站的cookie,例如:$cfg['blowfish_secret'] = '任意字符';這是因爲你的“$cfg['Servers'][$i]['auth_type'] = 'cookie'的原因。



18、安裝webmin
1、解壓並進入解壓目錄
2./setup.sh /usr/local/webmin



19、安裝eAccelerator
#tar -jxvf ./eaccelerator-0.9.5-beta2.tar.bz2
#cd eaccelerator-0.9.5-beta2
#export PHP_PREFIX="/usr/local" (把PHP安裝目錄導入到環境變量,FreeBSD默認是/usr/local
#$PHP_PREFIX/bin/phpize
#./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
#make
#make install

/usr/local/php5/etc/php.ini文件的[Zend]下添加
先查找extension_dir,改路徑爲"/usr/local/php5/lib/php/extensions/"

extension="eaccelerator.so"

eaccelerator.shm_size="32"    解釋:eaccelerator可使用的共享內存大小(單位爲MB)

eaccelerator.cache_dir="/tmp/eaccelerator"  解釋:緩存路徑

eaccelerator.enable="1"  解釋:打開或者關閉eaccelerator"1"指打開,"0"指關閉。默認值爲"1"

eaccelerator.optimizer="1"  解釋:打開或者關閉代碼優化,開啓可以加快代碼的執行速度。"1"指打開,"0"指關閉。默認值爲"1"

eaccelerator.check_mtime="1" 解釋:當打開此項時,eaccelerator會在每次請求時檢查php文件的修改時間,看其是否被修改過,這會耗費一點時間,如果php文件被修改 過,eaccelerator會重新編譯緩存該php文件。當關閉此項時,如果php文件被修改,則需要手工刪eaccelerator緩存,才能顯示被 修改的php文件。"1"指打開,"0"指關閉。默認值爲"1"

eaccelerator.debug="0"  解釋:打開或者關閉 調試記錄。當打開時,eaccelerator會將對一個緩存文件的每次請求都寫進 log。打開此項只對調試eaccelerator是否有BUG時有益處。"1"指打開,"0"指關閉。默認值爲"0"

eaccelerator.log_file="/usr/local/apache2/logs/eaccelerator_log"  日誌文件

eaccelerator.filter=""     解釋:決定哪些PHP文件應該被緩存。可以指定一個範圍(比如"*.php *.phtml"),這樣被指定的文件就會被緩存。如果該範圍以!開頭,被指定的文件就不會被緩存。默認值爲"",表示緩存所有的PHP文件。

eaccelerator.shm_max="0"   解釋:一個用戶使用例如eaccelerator_put之類的函數能夠往共享內存中加載的最大數據。默認值爲"0",表示不限制。(單位爲字節)

eaccelerator.shm_ttl="0"   解釋:當沒有足夠的空閒共享內存去嘗試緩衝一個新腳本時,將刪除至少在shm_ttl秒之前沒有被訪問過的文件。默認值爲"0",表示不嘗試從共享內存中刪除任何舊的腳本。(單位爲秒)

eaccelerator.shm_prune_period="0"   釋:當沒有足夠的空閒共享內存去嘗試緩衝一個新腳本時,將刪所有舊腳本,前提是這個嘗試在超過shm_prune_period秒之前被執行過。默認值 "0",表示不嘗試從共享內存中刪除任何舊的腳本。(單位爲秒)

eaccelerator.shm_only="0"  解釋:打開或者關閉在磁盤上緩存編譯過的腳本。這個參數對會話數據和內容緩存沒有效果。默認值爲"0",表示使用磁盤和共享內存來緩存。
  

eaccelerator.compress="1"  解釋:打開或者關閉緩存內容壓縮。"1"指打開,"0"指關閉。默認值爲"1"

eaccelerator.compress_level="9"  解釋:內存壓縮的級別。默認值爲"9",表示最大壓縮。


mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

 

 

 

 

 

#####################   安裝過程遇到的錯誤   ##############################

 

1checking for termcap functions library… configure: error: No curses/termcap library found

網上大都說是缺少ncurses,我rpm -qa |grep ncurses了一下發現已經安裝了ncurses

後來發現原來少的是:ncurses-devel

到光盤裏找到

rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm

發現不在提示上述錯誤了

2/root/lamp/php-5.2.6/sapi/cli/php: error while loading shared libraries: /usr/local/lib/libpng12.so.0: cannot restore segment prot after reloc: Permission denied

/root/lamp/php-5.2.6/sapi/cli/php: error while loading shared libraries: /usr/local/lib/libpng12.so.0: cannot restore segment prot after reloc: Permission denied

make: [test] Error 127 (ignored)

 

上網查找原因,說是selinux的原因,服務器確實開着selinux的,更改selinux的配置文件將其設爲disabled,可我不想重啓服務器,有以下解決辦法:

執行命令:setenforce 0

就可以不重啓關閉selinux了!


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