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
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
</ifmodule>
确定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
make
make install
编辑php.ini
[scws]
extension = /usr/local/scws/phpext/modules/scws.so
scws.default.charset = utf8
scws.default.fpath = /usr/local/scws/etc
cd /usr/local/scws/phpext
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%)
// -------------------------------------
OK PHP扩展安装成功