我在 CentOS 6.4 上安装了 Apache、PHP 和 MySQL
我可以从 LAN 上的另一台 PC 通过 SSH 使用 PuTTY 访问服务器。
我刚刚使用 yum 和 webmin repos 安装了 webmin,并使用 yum 和 epel repos 安装了 phpMyAdmin。
我可以使用http://localhost:10000
和直接从我的服务器访问 webmin http://192.168.0.1:10000
,但无法从我的 LAN 上的另一台 PC 访问它:
我可以直接从我的服务器访问 phpMyAdmin http://localhost:10000
,但不能通过 LAN 上的另一台 PC 访问,当以 身份访问它时http://192.168.0.1/phpmyadmin
,我得到的是Forbidden, You don't have permision to access /phpmyadmin on this server. Apache/2.2.15 (CentOS) Server at 192.168.0.108 Port 80
。
我认为过去我曾经使用 https 而不是 http 来访问 webmin。
有什么建议我应该如何解决吗?谢谢
答案1
首先,如果您在端口 10000 上同时运行 Webmin 和 PHPMyAdmin,则不应该这样做。但是,据我上次检查,PHPMyAdmin 本身并不直接绑定到接口。
对于 PHPMyAdmin,您可以像使用其他任何配置文件一样使用 apache 配置文件。例如,这将通过子域运行 PHPMyAdmin 并强制使用 SSL:
<VirtualHost *:80>
ServerName phpmyadmin.example.tld
Redirect permanent / https://phpmyadmin.example.tld/
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName phpmyadmin.example.tld
DocumentRoot /path/to/phpmyamin
<Directory />
Options FollowSymlinks
AllowOverride None
</Directory>
<Directory /path/to/phpmyadmin>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory /path/to/phpmyadmin/libraries>
Order Deny,Allow
Deny from All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog \
${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile \
/etc/ssl/certs/yourcertificate.crt
SSLCertificateKeyFile \
/etc/ssl/private/yourprivatekey.key
SSLVerifyClient none
SSLOptions +StrictRequire
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
SSLProxyEngine off
<IfModule mime.c>
AddType application/x-509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
</IfModule>
</VirtualHost>
</IfModule>
或者配置 PHPMyAdmin 运行的 vhost 以正确使用 SSL。
要将 HTTPS 与 ProxyPass 一起使用(在 Webmin 的情况下),同样适用,但添加以下内容以通过端口 443 提供服务:
<IfModule mod_proxy.c>
ProxyVia On
ProxyRequests Off
ProxyPass / https://webmin.example.tld:10000/
ProxyPassReverse / https://webmin.example.tld:10000/
ProxyPreserveHost on
<Proxy *>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Proxy>
</IfModule>
答案2
您应该找到有关首次设置 Apache 的指南,例如:http://httpd.apache.org/docs/2.2/install.html
听起来你好像遗漏了配置文件中的某些内容。