我刚刚开始使用phpliteadmin来管理SQLite数据库[1]。

我使用php5.4中的内置网络服务器设置了本地访问权限,与文档[2]完全相同:

php -S localhost:8000
http://localhost:8000/phpliteadmin.php


我想要:

(1)与我的网络上的其他几个人共享phpliteadmin访问。

(2)使用Apache网络服务器设置phpliteadmin(以防我需要从php服务器迁移过来)。

对同时做这两种方法的建议感兴趣吗?



[1]在运行CentOS 6的Linux机器上

[2] http://code.google.com/p/phpliteadmin/wiki/NoWebserver

最佳答案

我解决了这两个问题,但想公开我所做的事情(也许可以改进或对他人有用)。

(1)使用php5.4网络服务器的直接方式托管(指定IP地址):

php -S <ip_address>:8000
http://<ip_address>:8000/phpliteadmin.php


(2)使用Apache httpd的主机(在CentOS 6上)[1]:

(a)设置Web服务器的主机名:/ etc / sysconfig / network

NETWORKING=yes
HOSTNAME=<NAME_OF_CHOICE>
NTPSERVERARGS=iburst


(b)修改主机文件:/ etc / hosts

<IP_ADDRESS> <NAME_OF_CHOICE>


(c)修改Apache配置文件,并将phpliteadmin.php包含为默认索引:/etc/httpd/conf/httpd.conf

## Line 262 - Set the server admin mail ##
ServerAdmin <e-mail>
## Line 276 - Set the website name ##
ServerName <IP_ADDRESS>:80
## Line 292 - Set the web pages folder ##
DocumentRoot "/var/www"
## line 402 - Sent the index or home page of the website ##
DirectoryIndex phpliteadmin.php


(d)确保服务器已启用php。用于Apache httpd的CentOS PHP模块称为“ libphp5” [2]。对于php54w安装,该文件位于:/usr/lib64/httpd/modules/libphp5.so

(e)修改Apache配置文件[3]:/etc/httpd/conf/httpd.conf

LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php


(f)移动phpliteadmin.php到Web服务器的根目录。

(g)修改phpliteadmin.php中的$ directory指向数据库目录。

(h)修改iptables以允许Web服务器通过防火墙:/ etc / sysconfig / iptables

-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT


(i)重新启动iptables:

service iptables restart


(j)启动网络服务器:

service httpd start


(h)浏览器中的服务器IP地址应识别phpliteadmin.php文件并要求数据库登录。

如果显示.php文件原始文本,则php无法正确加载,请检查步骤(e)。如果php已加载,但报告未找到数据库和/或目录不可写,请检查phpliteadmin.php所在的数据库和DocumentRoot的权限(例如/ var / www需要sudo进行修改,而我必须打开权限)。



[1] http://ostechnix.wordpress.com/2013/03/05/install-apache-webserver-in-centos-6-3-scientific-linux-6-3-rhel-6-3/

[2] http://www.rackspace.com/knowledge_center/article/centos-apache-and-php-install

[3] PHP code is not being executed, instead code shows on the page

10-07 19:34