在Red Hat Enterprise Linux安装wifidog 认证服务器
简介
这是在Red Hat Enterprise Linux4安装认证服务器的详细指南
具体指南
安装的先决条件
up2date postgresql-client postgresql-server
up2date gcc flex libxml2-devel postgresql-devel httpd-devel libtool libpng-devel subversion
注:在Centos5,“postgresql-client”被postgresql所代替,这点也符合于RHEL5。
从source安装PHP5
RHEL4没有最新的PHP来运行wifidog认证服务器,所以我们需要从source编译一个。
PHP5 source下载地址:http://www.php.net/get/php-5.1.6.tar.bz2/from/a/mirror:
cd folder_where_you_downloaded
tar -jxvf php-5.1.6.tar.bz2
按照所需编译PHP:
cd php-5.1.6
./configure --with-pgsql --with-apxs2 --with-gettext --with-zlib --with-gd --enable-mbstring --with-config-file-path=/etc
make
sudo make install
sudo cp php.ini-dist /etc/php.ini
安装认证服务器
svn checkout https://dev.wifidog.org/svn/trunk/wifidog-auth
sudo mv wifidog-auth/ /var/www/
安装认证服务器的外部依赖
安装PEAR模块:
sudo pear install --alldeps Image_Graph-alpha
FCKE编辑器
wget http://umn.dl.sourceforge.net/sourceforge/fckeditor/FCKeditor_2.3.1.tar.gz
tar -zxvf FCKeditor_2.3.1.tar.gz
cd FCKeditor
sudo mv * /var/www/wifidog-auth/wifidog/lib/FCKeditor/
注:尝试使用特定的Sourceforge服务器,例如http://umn.dl.sourceforge.net/有可能超时或失败。那么使用“generic”下载地址:
wget http://dl.sourceforge.net/sourceforge/fckeditor/FCKeditor_2.3.1.tar.gz
配置apache
在/etc/httpd/conf/httpd.conf文件:
将PHP添加到DirectoryIndex指令:
DirectoryIndex index.html index.html.var index.php
添加以下新指令:
AddType application/x-httpd-php .php
将DocumentRoot更改为:
DocumentRoot "/var/www/wifidog-auth/wifidog/"
确保你还没有适当的key
cd /etc/httpd/conf/
rm ssl.key/server.key
rm ssl.crt/server.crt
make genkey
cd /usr/share/ssl/certs
make testcert
cd /etc/httpd/conf/ssl.key
cp server.key server.key.encrypted
openssl rsa -in server.key.encrypted -out server.key
chmod 400 server.key
配置postgresql
当Postgres8+在现在的机器中运行的更快时,RHEL4中的7.4版本已不足以运行wifidog了。
注:对于全新安装来说,只有首次运行了PostgreSQL才会产生下列文件。你必须在做完变更之后关闭或重新启动服务器。
将以下内容添加到/var/lib/pgsql/data/postgresql.cnf:
tcpip_socket = true
注:8.0已经用listen_addresses setting代替了tcpip_socket flag.PostgreSQL8.0及以上在配置中不会用“tcpip_socket”启动。如果你使用.PostgreSQL8.0及以上,用以下内容代替:
'listen_addresses = 'localhost'
这些都是默认的,没有必要改成postgresql.conf。
你也许还想将
log_destination = 'syslog'
添加到postgresql.conf 的“Reporting and Logging”部分,或者确保服务器错误提示信息被放置在你可以找到的地方。
将以下内容添加到/var/lib/pgsql/data/pg_hba.conf:
host wifidog wifidog 127.0.0.1/32 md5
local wifidog wifidog md5
设置cron jobs
将以下内容添加到to /etc/crontab:
##Wifidog
#Send status emails every two minutes
*/2 * * * * apache /usr/local/bin/php
/var/www/wifidog-auth/wifidog/cron/page.php
#Vacuum the database every hour
01 * * * * apache /usr/local/bin/php
/var/www/wifidog-auth/wifidog/cron/vacuum.php
如果/var/www/wifidog-auth/wifidog/cron/cleanup.php文件存在,将以下内容添加到/etc/crontab:
*/5 * * * * apache /usr/local/bin/php
/var/www/wifidog-auth/wifidog/cron/cleanup.php
移除安装文件
当然,唯一能访问install.php文件的只有你。你将需要将install.php文件移出公众视线。
1)进入到wifidog目录(/var/www/wifidog-auth/wifidog)
cd /var/www/wifidog-auth/wifidog
2)将install.php文件移到根目录,他人无法访问:
mv install.php ../install.php
注:你可以将它移到你选的任何位置,只要不是公用。
本文章由 http://www.wifidog.pro/2015/03/09/Red-linux-%E5%AE%89%E8%A3%85wifidog%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8.html 整理编辑,转载请注明出处