安裝MYSQL mysql-max-5.0.27-linux-i686-glibc23.tar.gz
groupadd mysql
useradd -g mysql mysql
cd /usr/local
這裡解壓
tar -zxvf /root/mysql-max-5.0.27-linux-i686-glibc23.tar.gz
mv mysql-max-5.0.27-linux-i686-glibc23/ mysql
cd mysql
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
bin/mysqld_safe --user=mysql &
這是所有的步驟...
測試
/usr/local/mysql/bin/mysqladmin version
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
OpenSSL 安裝:
下載:http://www.openssl.org/
先使用 rpm -qa | grep openssl 檢查一下有無安裝,
我裝的時候已經有裝了所以在 configure 時就只 --enable-ssl=static
若是自行安裝的請用 --with-ssl=/usr/local/ssl
代碼:
tar zxvf openssl-0.9.8e.tar.gz.tar
cd openssl-0.9.8e
./config
make
make test
sudo make install
安裝httpd-2.2.4.tar.gz
tar zvxf httpd-2.2.4.tar.gz
cd httpd-2.2.4
./configure --prefix=/usr/local/apache2 --enable-so --enable-deflate --with-mpm=worker --enable-ssl=static --enable-mods-shared=all --enable-mods-shared=all --enable-fastcgi
make
make install
先配置一下deflate:
代碼:
DeflateFilterNote ratio
LogFormat '"%v %h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" (%{ratio}n)' deflate
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch MSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
# Header Error
# Header append Vary User-Agent env=!dont-vary
### mod_deflate End ###
#查找CustomLog 註解原始的一行,改成
CustomLog logs/access_log deflate
#####我這是有裝fastcgi的模組,若不要裝fastcgi時要記得在 PHP configure 不要--enable-fastcgi,但要 --with-apxs2=/usr/local/apache2/bin/apxs
fastcgi2.4.2安裝
下載:http://www.fastcgi.com/dist/mod_fastcgi-2.4.2.tar.gz
代碼:
tar zvxf mod_fastcgi-2.4.2.tar.gz
cd mod_fastcgi-2.4.2
cp Makefile.AP2 Makefile
#修改Makefile文件,把裡面的
top_dir = /usr/local/apache2 (根據apache安裝目錄調整)
make
make install
以下裝GD,同前奏是裝zlib,libpng,jpeg,freetype。
32位元 ln -s /usr/lib/libjpeg.so.62 /usr/local/modules/jpeg/lib/libjpeg.so
tar zvxf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install
tar zvxf libpng-1.2.14.tar.gz
cd libpng-1.2.14
./configure --prefix=/usr/local/modules/libpng
make
make install
jpeg目錄沒有的目錄只要新建就可以了.
32位元安裝: 增加
mkdir /usr/local/modules/jpeg
mkdir /usr/local/modules/jpeg/bin
mkdir /usr/local/modules/jpeg/lib
mkdir /usr/local/modules/jpeg/bin/cjpeg
mkdir /usr/local/modules/jpeg/man
mkdir /usr/local/modules/jpeg/man/man1
mkdir /usr/local/modules/jpeg/include
六個目錄
先列出配置gd2需要的網址
gd-2.0.33.tar.gz
www.boutell.com/gd
jpegsrc.v6b.tar.gz
ftp.uu.net/graphics/jpeg
www.ijg.org
libpng-1.2.14.tar.tar
www.libpng.org/pub/png/libpng.html
libpng.sourceforge.net
sourceforge.net/projects/libpng
zlib-1.2.3.tar.gz
www.zlib.net
sourceforge.net/projects/zlib
freetype-2.2.1.tar.gz
www.freetype.org
freetype.sourceforge.net/index2.html
sourceforge.net/projects/freetype
##
安裝jpegsrc
tar zvxf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/usr/local/modules/jpeg --enable-shared
make
make install
安裝freetype
tar zvxf freetype-2.2.1.tar.gz
cd freetype-2.2.1
./configure --prefix=/usr/local/modules/freetype
make
make install
安裝libxml2-2.6.19
tar zvxf libxml2-2.6.19.tar.gz
cd libxml2-2.6.19
mkdir -p /usr/local/libxml2
./configure --prefix=/usr/local/libxml2
make
make install
cp xml2-config /usr/bin
安裝gd-2
tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --prefix=/usr/local/modules/gd
make
make install
安裝PHP
#建議安裝PHP5,因為PHP4已經不再更新了
tar zvxf php-5.1.6.tar.gz
cd php-5.1.6
//這是加入fastcgi
./configure --prefix=/usr/local/php --with-iconv --with-mysql=/usr/local/mysql --with-gd=/usr/local/modules/gd --with-zlib --with-xml=/usr/local/libxml2 --with-jpeg-dir=/usr/local/modules/jpeg -with-png-dir=/usr/local/modules/libpng --with-freetype-dir=/usr/local/modules/freetype --enable-exif --enable-bcmath --enable-wddx --with-dom --with-iconv --enable-fastcgi --enable-mbstring=all --with-curl --with-openssl
//這是沒加入fastcgi
./configure --prefix=/usr/local/php --with-iconv --with-mysql=/usr/local/mysql --with-gd=/usr/local/modules/gd --with-zlib --with-xml=/usr/local/libxml2 --with-jpeg-dir=/usr/local/modules/jpeg --with-apxs2=/usr/local/apache2/bin/apxs -with-png-dir=/usr/local/modules/libpng --with-freetype-dir=/usr/local/modules/freetype --enable-exif --enable-bcmath --enable-wddx --with-dom --with-iconv --enable-mbstring=all --with-curl --with-openssl
make clean ###記得先清一下,否則可能錯得很冤枉
make
make install
cp php.ini-recommended /usr/local/php/lib/php.ini
下面原始配置php+apache+fastcgi
代碼:
mkdir /usr/local/apache2/phpbin
cp /usr/local/php/bin/php /usr/local/apache2/phpbin/
vi /usr/local/apache2/conf/httpd.conf
我們在編譯時加入--with-mpm=worker
ServerLimit 32
ThreadLimit 128
StartServers 16
MaxClients 4096
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 128
MaxRequestsPerChild 2560
DirectoryIndex index.html index.html.var index.php
#後面加上index.php
LoadModule fastcgi_module modules/mod_fastcgi.so
FastCgiServer /usr/local/apache2/phpbin/php -idle-timeout 60 -listen-queue-depth 2000 -processes 100 -appConnTimeout 60
#對fastcgi進行優化
AddHandler php-fastcgi .php
Alias /phpbin/ "/usr/local/apache2/phpbin/"
SetHandler php-fastcgi
Action php-fastcgi /phpbin/php
AddType application/x-httpd-php .php
這時候輸入 /usr/local/apache2/bin/apachectl start
如果沒有錯誤的話,哪麼我們基本配置已做好,下面我們做加速入安全設置.
# tar zxvf ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
# cd ZendOptimizer-3.0.1-linux-glibc21-i386
# ./install.sh
# /usr/local/php/lib/php.ini
#按要求一步一步選擇就好了
# eaccelerator-0.9.5安裝
下載:http://nchc.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5.tar.tar
代碼:
# tar jxf eaccelerator-0.9.5.tar.tar
# cd eaccelerator-0.9.5
# export PHP_PREFIX="/usr/local/php" ///注意路徑,可以用find命令搜索"phpize"路徑
# $PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
# make
# make install
/*以上標準指令,我裝的時候就因為前兩行沒有執行,./configure的時候報錯(phpize的作用就是生成configure文件等,
eaccelerator包里本身是沒有這個文件的),其時你也可以直接輸入phpize所在的絕對路徑,比如我的路徑:/usr/local/php/bin/phpize,就可以安裝了*/
如果裝過二個以上的PHP版本(如:php4.4.2 && php4.4.1),在轉行(/usr/local/apache2/phpbin/php)時會報錯,
只在使用zend_extension_ts的時候不報(不確定能否加速);也可以從一台已裝好eaccelerator的機器上把eaccelerator.so拷貝過來覆蓋原文件也可.
裝好了eaccelerator,就開始配置吧.打開php.ini文件,Zend加速過的放在/usr/local/Zend/etc/php.ini(這是我的Zend安裝目錄),
/usr/lib/php.ini是它的一個文件連接(ln),但是起作用的還是用phpinfo();顯示出來的php.ini所在路徑,這一點請注意.
以下是完整代碼.
vi /usr/local/php/lib/php.ini
代碼:
///用這個替代,注意路徑,根據實際來定路徑(可以用find命令搜索eaccelerator.so所在路徑)
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
[Zend]
zend_extension_ts ="/usr/local/php/lib/php/extensions/no-debug-zts-20050922/eaccelerator.so" (這裡的路徑一定要對,否則會報錯,zend_extension_ts後面的_ts要看你的PHP是什麼類型安裝的...)
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2_6_2
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2_6_2
zend_optimizer.version=2.6.2
;zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so //忽略這一行,因為zend_extension_ts和zend_extension只能出現一個
建立相對目錄:
代碼:
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator
/usr/local/php/bin/php -m 檢查有無報錯
若是裝PHP5 需要打開 short_open_tag = on 才能使用短標語
#####裝這是因為要做縮圖才需要安裝
安裝ImageMagick
因為安裝drupal的image module必需用到ImageMagick,所以了解了一下,ImageMagick的功能非常強大。
張微波的BLOG裡講到到了如何使ImageMagick支持PHP,但是我現在發現ImageMagick網站的下載頁面理已經有了一個叫MagickWand for PHP的套件,可以直接支持php。
安裝步驟:
1、首先安裝ImageMagick程序
wget http://www.imagemagick.org/download/ImageMagick-6.1.7-5.tar.gz
tar zxvf ImageMagick-6.3.2-2.tar.gz
cd ImageMagick-6.3.2-2
./configure --enable-shared --enable-lzw --with-modules //--enable-lzw 是打開lzw壓縮
make clean
make
make install
2、安裝MagickWand for PHP
在安裝之前如果未有安裝php,先按正常步驟安裝一遍php,產生所需的phpize程序。
然后:
wget http://www.magickwand.org/download/php/MagickWandForPHP-0.1.0.tar.bz2
bunzip2 MagickWandForPHP-0.1.0.tar.bz2
tar zxvf magickwand-0.1.9.tar.gz
mv magickwand PHP_SRC_DIR/ext/magickwand
mv magickwand /root/php-4.4.4/ext/magickwand
註: PHP_SRC_DIR是指你的php源碼目錄
cd PHP_SRC_DIR/ext/magickwand/
cd /root/php-4.4.4/ext/magickwand
/usr/local/php/bin/phpize
然後 cd PHP_SRC_DIR
cd /root/php-4.4.4
rm -rf ./configure
./buildconf --force
然後重新編譯php
./configure --prefix=/usr/local/php --with-iconv --with-mysql=/usr/local/mysql --with-gd=/usr/local/modules/gd --with-zlib --with-xml=/usr/local/libxml2 --with-jpeg-dir=/usr/local/modules/jpeg --with-apxs2=/usr/local/apache2/bin/apxs -with-png-dir=/usr/local/modules/libpng --with-freetype-dir=/usr/local/modules/freetype --enable-exif --enable-bcmath --with-magickwand=/usr/local/ImageMagick
gmake
gmake install
這樣就ok了!!
#####
【設定root帳號】
MySQL裡的帳號和Linux的使用者帳號是兩回事,毫不相干,底下的root指的是MySQL伺服器中的root帳號。
安裝完畢之後,我們新增個帳號來執行MySQL資料庫,接著將/usr/local/mysql裡的檔案擁有權限設給此一帳號。這個動作是為增加MySQL的安全性。
adduser mysql
chown -R mysql.mysql /usr/local/mysql
接下來我們來啟動MySQL吧!啟動MySQL的指令如下:
/usr/local/mysql/bin/safe_mysqld --user=mysql &
啟動了MySQL之後,我們趕緊來給MySQL設定密碼吧!首先先切換到/usr/local/mysql/bin的目錄下,然後執行「./mysqladmin -u root password '密碼'」來給root設定密碼。例如:我們想把MySQL的管理者root的密碼設為12345,則執行下列指令:
cd /usr/local/mysql/bin
./mysqladmin -u root password '12345'
【自動啟動設定】
嗯…每次開機都要自己啟動MySQL也是很累的一件事,所以,您可以把啟動指令(如下)加到/etc/rc.d/rc.local檔案的最後一行,那麼,以後開機便會自動啟動MySQL了。
/usr/local/mysql/bin/safe_mysqld --user=mysql &
/usr/local/apache2/bin/apachectl start
沒有留言:
張貼留言