原文:
http://www.7880.com/Info/Article-35a97ce0.html 安装服务器软件
mysql
Code: | |
cd /usr/ports/databases/mysql40-server |
|
因为我安装系统时将数据库单独分了一个区存放,所以我要修改一下mysql默认的数据库存放目录
Code: | |
DB_DIR?= 你的数据库存放目录 #CONFIGURE_TARGET那行前面的空行加上两行优化选项: BUILD_OPTIMIZED=yes BUILD_STATIC= yes
WITH_OPENSSL=yes WITH_LINUXTHREADS=yes BUILD_OPTIMIZED=yes install
|
|
保存退出编辑。然后
安装完毕后,加大mysql的最大连接数
Code: | |
ee /usr/local/bin/mysqld_safe |
|
向下寻找到第314行(4.0.20版是314行),其行很长,以“$NOHUP_NICENESS”开头,以“>> $err_log 2>&1”结尾。该行被嵌套在一个if语句里。在314这行末尾的“ >> $err_log 2>&1”前面加上“ -O max_connections=1000 ”,(注意前后各留一个空格)。
然后向下找到316行,也是很长的一行,以“eval "$NOHUP_NICENESS”开头,以“>> $err_log 2>&1”结尾。同样在“ >> $err_log 2>&1”前面加上“ -O max_connections=1000 ”。
保存退出。然后重启,此时的mysql40就是1000个并发连接的数据库了。可以用下面的方法检查一下:
Code: | |
cd /usr/local/bin mysqladmin -uroot -p variables |
|
将会打出一个长列表,按scroll lock后向上卷动屏幕,能看到里面有一项显示
| max_connections | 1000 |
那么表示最大并发连接数已经修改到1000了。
修改 mysql 的 root 密码
Code: | |
mysqladmin -u root password '你要的密码' |
|
apache
先安装openssl
Code: | |
cd /usr/ports/security/openssl make install clean |
|
然后升级一下 expat2
Code: | |
cd /usr/ports/textproc/expat2 make deinstall make install clean |
|
安装 apache2
Code: | |
cd /usr/ports/www/apache20 make install clean |
|
安装 apache 的 mod
fastcgi:
Code: | |
cd /usr/ports/www/mod_fastcgi make WITH_APACHE2=yes install clean |
|
OK,完成了。
下来是php:
先安装gd和jpeg(也许大家看到现在的论坛都需要进行一个检验码的验证,而验证码是随机产生的一个图片文件,为了以后的服务能让PHP程序自动生成图形,现在我要先安装GD库文件
Code: | |
cd /usr/ports/graphics/jpeg make install clean |
|
Code: | |
cd /usr/ports 4000 /graphics/gd make install clean |
|
现在我们来安装PHP
Code: | |
cd /usr/ports/www/mod_php4
make WITH_MYSQL=yes WITH_APXS2=yes WITH_TTF=yes WITH_XML=yes WITH_GD=yes WITH_ZLIB=yes WITH_FREETYPE=yes WITH_JPEG=yes install clean
|
|
Code: | |
cd /usr/local/etc/ cp php.ini-dist php.ini |
|
安装后的设置:
看一下 /usr/etc/apache2 目录下面已经有几个 httpd 的设置文件了,拷一个当正式的配置文件
Code: | |
cp /usr/local/etc/apache2/httpd-dist.conf /usr/local/etc/apache2/httpd.conf |
|
然后编辑 httpd.conf
Code: | |
ee /usr/local/etc/apache2/httpd.conf |
|
Code: | |
#增加对php的支持,在AddType application/x-gzip .gz .tgz后面加: AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
#随后设置网站默认启动页允许为index.php,找到 DirectoryIndex这行,改为: DirectoryIndex index.html index.htm index.php index.html.var
#再设置apache默认字符集为简体中文。找到 AddDefaultCharset 改成: AddDefaultCharset GB2312
#另外,一个访问量较大的网站,apache默认的150连接肯定是不行的。以下各行改为: StartServers 10 MinSpareServers 10 MaxSpareServers 15 ServerLimit 2000 MaxClients 1500 MaxRequestsPerChild 10000 |
|
最后,要在服务器启动时自动启动 apache,需要编辑 /etc/rc.conf
加入以下两行:
Code: | |
apache2_enable="YES" apache2ssl_enable="YES" |
|
这时候,你可以用以下命令来试着启动 apache
Code: | |
/usr/local/etc/rc.d/apache2.sh start |
|
===============================================
如果提示说 ssl.conf 配置文件某行有错,server.crt 证书文件不存在的话,那么恭喜你,跟我一样中奖了,我不知道这是否是 apache2 port的一个bug,总之这样安装完的apache+mod_ssl 是没有服务器证书的,apache2启动失败了,我们需要手工来签属一个可用的证书
先下载一下证书生成程序:
http://www.openssl.org/contrib/ssl.ca-0.1.tar.gz然后:
Code: | |
tar zxvf ssl.ca-0.1.tar.gz cd ssl.ca-0.1 ./new-root-ca.sh ./new-server-cert.sh server ./sign-server-cert.sh server |
|
我只写了相关的命令,后面三个命令执行时会有一系列的问题需要回答:密码、省份、城市、机构 。。。。有够烦的,自己看着办吧,赫赫
不过友情提示一下:./new-server-cert.sh server 的时候,commonName 最好设成跟你的 ServerName 一样,不然 apache 启动中会生成错误日志。
好了,然后到 /usr/local/etc/apache2 目录下面建两个目录来存放刚才生成的 crt 和 key 文件
Code: | |
mkdir ssl.crt mkdir ssl.key |
|
然后将刚才生成的四个文件放到新目录下面,再修改属性,以策安全
Code: | |
cp ca.crt /usr/local/etc/apache2/ssl.crt cp ca.key /usr/local/etc/apache2/ssl.key cp server.crt /usr/local/etc/apache2/ssl.crt cp server.key /usr/local/etc/apache2/ssl.key cd /usr/local/etc/apache2/ssl.key chmod 444 ca.key chmod 444 server.key cd /usr/local/etc/apache2/ssl.crt chmod 444 ca.crt chmod 444 server.crt |
|
OK,搞定,现在启动 apache2 应该没有问题了