1.準備環境
sudo apt-get install gcc g++ cpp libncurses5-dev make libssl-dev sysv-rc-conf bison libbz2-dev libcurl3-openssl-dev libjpeg62-dev libpng12-dev libxpm-dev libt1-dev libfreetype6-dev libgmp3-dev libmcrypt-dev libmhash-dev libpspell-dev libsnmp9-dev libmm-dev libtidy-dev libxml2-dev
1.2關閉sudo /etc/init.d/apache2 stop ;telnet 0 80;sudo /etc/init.d/mysql stop;telnet 0 3306 ;
1.3sudo dpkg --get-selections|grep 軟體名稱
下載下傳軟體包
httpd-2.4.10-deps.tar.bz2 httpd-2.4.10.tar.gz mysql-5.5.41.tar.gz pcre-8.31.tar.bz2 php-5.4.35.tar.bz2
apche2 下載下傳位址:http://httpd.apache.org/download.cgi
php5 下載下傳位址:http://www.php.net
mysql 下載下傳位址:http://dev.mysql.com/downloads/
安裝httpd環境
tar -jxfv httpd-2.4.10-deps.tar.bz2
./configure --prefix=/usr/local/apr
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
tar hxfv pcre-8.31.tar.bz2
cd pcre-8.31/
/configure --prefix=/usr/local/pcre
4.安裝apache
./configure --prefix=/usr/local/apache2 --sysconfdir=/home/service/web/config/apache/conf --enable-so --enable-ssl --enable-rewrite --with-mpm=worker --enable-dav --enable-maintainer-mode --enable-cgi --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
或者
sudo ./configure \ //執行目前目錄下軟體自代的配置指令
> --prefix=/usr/local/apache2 \ //指定apache軟體安裝的位置
> --sysconfdir=/etc/httpd \ //指定apache伺服器的配置檔案存放位置
> --with-z=/usr/local/zlib/ \ //指定zlib庫檔案的位置
> --with-included-apr \ //使用捆綁apr/apr-util的副本
> --enable-so \ //以動态共享對象(dso)編譯
> --enable-deflate=shared \ //縮小傳輸編碼的支援
> --enable-expires=shared \ //期滿頭控制
> --enable-rewrite=shared \ //基于規則的url操控
> --enable-static-support //建立一個靜态連結版本的支援
sudo make
sudo make install
注意:apache安裝完成後,/usr/local/apache2即為apache的根目錄,而/etc/httpd/為apache的配置目錄
檢查安裝目錄
檢查配置檔案目錄
sudo vi /etc/httpd/httpd.conf
在檔案的上方空白處添加:
servername localhost:80 //監聽本機的80端口
sudo /usr/local/apache2/bin/apachectl start
//啟動apache
最後在浏覽器輸入http://localhost
若出現it works!恭喜你,安裝成功
sudo /usr/local/apache2/bin/apachectl stop
//關閉apache
# netstat -tnl|grep 80 //檢視80端口是否開啟
http://localhost/去通路apache伺服器
sudo echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.local //添加自啟動
注意:若此啟動無法寫進檔案,請用vi編輯器直接編輯,寫在該檔案的代碼段 'exit 0' 之前即可
5.安裝maysql資料庫
1.解壓mysql源碼安裝包
tar -zxvf mysql-5.5.37.tar.gz
2.安裝一些編譯需要的元件
安裝cmake元件
sudo apt-get install cmake
安裝libncurses5-dev元件
sudo apt-get install libncurses5-dev
安裝gcc-c++元件
sudo apt-get install build-essential
安裝bison元件
sudo apt-get install bison
3.編譯安裝
設定使用者組
sudo useradd -r -gmysql mysql
下載下傳 mysql源碼包
問題:cmake error: the source directory *** does not appear to contain cmakelists.txt.
問題原因:是軟體包下載下傳錯誤了
下載下傳類型:source code 源代碼包
sudo cmake -dcmake_install_prefix=/usr/local/mysql -dmysql_datadir=/mysql -ddefault_charset=utf8 -ddefault_collation=utf8_general_ci -dextra_charsets=all -dwith_myisam_storage_engine=1 -dwith_innobase_storage_engine=1 -denabled_local_infile=1
警告dwith_myisam_storage_engine 忽略 不影響結果
sudo make install
配置相應的檔案
進入/usr/local/mysql 下
sudo chown -r mysql .
sudo chgrp -r mysql .
sudo ./scripts/mysql_install_db
--user=mysql --basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--no-defaults
配置完成後修改權限
sudo chown -r root .
sudo chown -r mysql data
複制配置檔案
sudo cp ./support-files/my-medium.cnf /etc/my.cnf
配置my.cnf資訊,找到[mysqld],然後追加進去
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
character-set-server = utf8
将mysql.server拷貝/etc/init.d下:
sudo cp ./support-files/mysql.server /etc/init.d/mysql
sudo chown -r root.mysql .
sudo chown -r mysql data
避免pid檔案沒有寫權限
啟動mysql
sudo /etc/init.d/mysql start
遇到啟動失敗“starting mysql * couldn't find mysql server (/usr/bin/mysqld_safe)”時
sudo rm /etc/mysql/my.cnf
确認mysql是否安裝成功
sudo /usr/local/mysql/bin/mysqladmin version
sudo mysqladmin -uroot password 'new_password'
mysql> grant all privileges on *.* to 'root'@'%' identified by password 'weloment';
error 1372 (hy000): password hash should be a 41-digit hexadecimal number
mysql> select password('weloment');
+-------------------------------------------+
| password('weloment') |
| *ce9889f691ecde87de56bb2bc9a7e1e95429a221 |
1 row in set (0.02 sec)
mysql> grant all privileges on *.* to 'root'@'%' identified by password '*ce9889f691ecde87de56bb2bc9a7e1e95429a221';
query ok, 0 rows affected (0.02 sec)
./scripts/mysql_install_db --user=mysqld --basedir=/usr/local/mysql --no-defaults
installing mysql system tables...
141202 22:27:59 [error] /usr/local/mysql/bin/mysqld: can't find file: './mysql/db.frm' (errno: 13)
error: 1017 can't find file: './mysql/db.frm' (errno: 13)
141202 22:27:59 [error] aborting
141202 22:27:59 [note] /usr/local/mysql/bin/mysqld: shutdown complete
程式使用者沒有寫權限(程式使用者在/my.cnf中定義)
ls -l ./data/mysql/db.frm
-rw-rw---- 1 root root 9582 dec 2 22:27 ./data/mysql/db.frm
chown -r mysqld.mysqld
安裝成功
6. 安裝php
這裡使用了簡易的安裝,之後的擴充另外安裝(其實是我總是遇到錯誤解決太麻煩了,安裝了n次之後感覺這個方法最好,基本是不會出錯的)
一些擴充我會在下面進行另外的安裝,我感覺這樣比較清晰。
這裡安裝的php僅僅關聯了apache,mysql
之後會在擴充中安裝:pdo_mysql,
sudo ./configure
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/
--enable-mbstring
--enable-xml
--enable-sockets
打開apache配置檔案
sudo gvim /etc/httpd/httpd.conf
在後邊加上
<ifmodule php5_module>
phpinidir /usr/local/php/lib/php.ini
addtype application/x-httpd-php .php
#addtype application/x-httpd-php-source .phps
</ifmodule>
找到 directoryindex 添加 index.php
<ifmodule dir_module>
directoryindex index.html index.php
确定php5子產品開啟,并在apache2 modules/libphp5.so可以讀取庫檔案
loadmodule php5_module modules/libphp5.so
重新開機apache 在apache的工作目錄中寫一個phpinfo的檔案,然後進入localhost看看
<?php
phpinfo();
?>
通路測試:
http://ip
效果如下
7.添加scws中分分詞擴充
手下下載下傳scws×××
tar jxfv scws-1.2.2.tar.bz2
./configure--prefix=/usr/local/scws
make
make install
cd /usr/local/scws/bin
./scws -i ../etc/test.txt -o ../etc/out.txt -r ../etc/rules.utf8.ini -d ../etc/dict.utf8.xdb -c utf8
sudo cp -rp phpext /usr/local/scws
cd /usr/local/scws/phpext
phpize
./configure --with-php-config=php_home/bin/php-config
編輯php.ini
[scws]
extension = /usr/local/scws/phpext/modules/scws.so
scws.default.charset = utf8
scws.default.fpath = /usr/local/scws/etc
php scws_test.php
輸出如下
pengzhihang@ubuntu:/usr/local/scws/phpext$ php scws_test.php
PHP Warning: SimpleCWS::set_dict(): Failed to set the dict file in /usr/local/scws/phpext/scws_test.php on line 75
Warning: SimpleCWS::set_dict(): Failed to set the dict file in /usr/local/scws/phpext/scws_test.php on line 75
Test [1] ... FAILURE!
----------------------------------------
ORGINAL TEXT: 大家好,我是馬明練
EXPECTED RESULT: 大家 好 , 我 是 馬明練
ACTUAL RESULT: 大 家 好 , 我 是 馬明練
========================================
Test [2] ... FAILURE!
ORGINAL TEXT: 結合成分子時
EXPECTED RESULT: 結合 成 分子 時
ACTUAL RESULT: 結 合 成分子 時
Test [3] ... FAILURE!
ORGINAL TEXT: 提高人民生活水準
EXPECTED RESULT: 提高 人民 生活 水準
ACTUAL RESULT: 提 高人民 生 活 水 平
Test [4] ... FAILURE!
ORGINAL TEXT: 奧巴馬上台後中美關系如何變革
EXPECTED RESULT: 奧巴馬 上台 後 中美關系 如何 變革
ACTUAL RESULT: 奧巴馬 上 台 後 中 美 關系如 何變革
Test [5] ... FAILURE!
ORGINAL TEXT: 一九四九年,新中國成立了
EXPECTED RESULT: 一九四九年 , 新中國 成立 了
ACTUAL RESULT: 一九四九年 , 新 中 國 成立 了
Test [6] ... FAILURE!
ORGINAL TEXT: 哪個人生下來就會算算術呢
EXPECTED RESULT: 哪個 人 生下 來 就 會 算 算術 呢
ACTUAL RESULT: 哪 個 人 生 下 來 就 會 算 算 術 呢
Test [7] ... FAILURE!
ORGINAL TEXT: 2008年中國網絡遊戲的實際銷售收入達183.8億元人民币,比2007年增長了76.6%
EXPECTED RESULT: 2008 年 中國 網絡遊戲 的 實際 銷售 收入 達 183.8 億 元 人民币 , 比 2007 年 增長 了 76.6%
ACTUAL RESULT: 2008 年 中 國 網 絡 遊戲 的 實 際 銷 售 收 入 達 183.8 億 元 人 民 币 , 比 2007 年 增 長 了 76.6%
Test [8] ... FAILURE!
ORGINAL TEXT: 你說的确實在理
EXPECTED RESULT: 你 說 的 确實 在理
ACTUAL RESULT: 你 說 的 确 實 在 理
Test [9] ... FAILURE!
ORGINAL TEXT: 圓周率的近似值為3.14!
EXPECTED RESULT: 圓周率 的 近似值 為 3.14
ACTUAL RESULT: 周率 3.14
Test [10] ... FAILURE!
ORGINAL TEXT: 中國的全稱是×××
EXPECTED RESULT: 中國 國 的 全稱 稱 是 ××× 中華 人民 共和國 華 人 民 國
ACTUAL RESULT: 中 國 的 全 稱 是 中 華人民 共 和 國
Test [11] ... FAILURE!
ORGINAL TEXT: 讀到第三章,我也不知該說什麼好了
EXPECTED RESULT: 讀到 到 第三章 我也 也 不知 該 該說 說 什麼 好 好了
ACTUAL RESULT: 第三章
Test [12] ... FAILURE!
ORGINAL TEXT: 我家的IP是192.168.1.100,4年前就用了,型号是386AC90F
EXPECTED RESULT: 我家 的 IP 是 192 . 168 . 1 . 100 , 4 年前 就 用 了 , 型号 是 386 AC 90 90F
ACTUAL RESULT: 我 家 的 IP 是 192 . 168 . 1 . 100 , 4 年 前 就 用 了 , 型 号 是 386 AC 90 90F
Test [13] ... FAILURE!
// -------------------------------------
// TEST result report
// SCWS (Module version:0.2.2, Library version:1.2.2) - by hightman
// Total test: 15
// Passed Num: 1 (6.67%)
// Failed Num: 14 (93.33%)