bla*_*sei 5 ubuntu virtualhost
我一直在为这个设置苦苦挣扎。我已经安装了 phpmydamin 的所有先决条件,它本身可以在 ip/phpmyadmin 上找到。现在我有一个我想指向它的子域。假设我想将 data.somedomain.com 指向 phpmyadmin 这样的方式,而不是 ip/phpmyadmin 我可以访问它作为 data.somedomain.com。我一直在做简单的 VirtualHost 创建,但我认为我有点迷失了这个。这是/etc/phpmyadmin/apache.conf
:
# phpMyAdmin default Apache configuration
<VirtualHost *:80>
ServerName data.somedomain.com
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
Options All
AllowOverride All
Require all granted
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
</Directory>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
Order Deny,Allow
Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Order Deny,Allow
Deny from All
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我添加的是<VirtualHost>
标签包装器ServerName
和这些Options All AllowOverride All Require all granted
当我访问该 url 时,它会抛出一个404
代码:在此服务器上找不到请求的 URL /。
并且日志包含此条目:File does not exist: /etc/apache2/htdocs
感谢您的建议。
小智 9
您需要做的就是为 apache 设置一个子域。您可以通过在 /etc/apache2/sites-available 中创建配置文件来完成此操作。
这是我的..
<VirtualHost *:80>
ServerAdmin adminn@example.local
ServerName phpmyadmin.example.local
DocumentRoot /usr/share/phpmyadmin
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
LogLevel notice
CustomLog /var/log/apache2/access.log combined
ErrorLog /var/log/apache2/error.log
ServerSignature On
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
将其保存到 /etc/apache2/sites-available/phpmyadmin.conf 并启用子域。
a2ensite phpmyadmin
Run Code Online (Sandbox Code Playgroud)
并重启apache服务器
service apache2 reload
Run Code Online (Sandbox Code Playgroud)
现在您应该可以使用来自 phpmyadmin.example.local 的 phpmyadmin。
您真正需要的是带有 DNS 解决方案的 CNAME。例如,如果您使用类似 godaddy.com 的域名,您可以在其 DNS 管理页面上添加一个 cname data.somedomain.com,该域名解析为 somedomain.com。
粗略地浏览一下您的 nginx 虚拟主机,您可能希望首先从一个最小的配置开始,该配置只需将对 data.somedomain.com 的请求指向您的 /usr/share/phpmyadmin。我还建议使用 htaccess 锁定 phpmyadmin (没有什么比你的数据库被黑更糟糕的了。)
归档时间: |
|
查看次数: |
16680 次 |
最近记录: |