由于我对此了解apache
甚少。我希望能够不断成长,以便拥有更多使用 LAMP 的经验。我今天的热门问题是:
如何向网络服务器添加自定义目录?(例如 phpmyadmin)?
我的目标是能够创建自定义地址,其中包含自定义网站。假设我的自定义目录位于:/media/my/web/portal1
我想在客户端调用时加载它
http://localhost/myportal1 at webbrowser.
您能否给我提供一份步骤列表并附带一些解释?
答案1
编辑 Apache 配置文件并添加别名指令。例如,让我们使用默认文件。
sudo -e /etc/apache2/sites-available/default
通过添加部分来创建别名虚拟主机指示:
Alias /database/ "/usr/share/php5/phpmyadmin/"
<Directory "/usr/share/php5/phpmyadmin/">
Order allow,deny
Allow from all
# New directive needed in Apache 2.4.3:
Require all granted
</Directory>
保存并重新启动:sudo /etc/init.d/apache2 restart
或者其他参考:
sudo -e /etc/apache2/sites-available/default
还有内容...
Alias /myportal1/ "/media/my/web/portal1/"
<Directory "/media/my/web/portal1/">
Order allow,deny
Allow from all
# New directive needed in Apache 2.4.3:
Require all granted
</Directory>
保存并重新启动:sudo /etc/init.d/apache2 restart
在目录指令,例如
Options Indexes FollowSymLinks
看http://httpd.apache.org/docs/2.2/mod/core.html#directory
那就是你所追求的吗?
答案2
一个更简单的替代方法是从文档根目录创建软链接。例如,如果文档根目录是“/var/www”(大多数 Linux 系统的默认根目录),则以下命令可以解决问题:
sudo ln -s /media/my/web/portal1 /var/www/myportal1
这会立即起作用 - 您甚至不需要重新加载 Apache 服务器。
答案3
Apache 是您系统中的用户,就像您一样,只是它无法登录。这意味着 Apache 的文件访问权限与您完全相同。因此,首先,如果 Apache 应该为 /media/something 中的目录提供服务,那么 Apache 必须有权读取该目录及其文件。
其次,要设置使用此目录作为主目录的站点,您需要创建站点文件,例如 /etc/apache2/sites-available/your-site。这是所谓的虚拟主机的一部分。有两种不同的类型;一种基于名称(域名),一种基于 IP。最常见的设置是使用基于名称的虚拟主机。您可以在此处阅读更多相关信息:http://httpd.apache.org/docs/2.2/vhosts/
答案4
非常简单,只需两行:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
后
只需编辑文件“phpmyadmin.conf”
pico /etc/apache2/conf.d/phpmyadmin.conf
并将其改为“loool”或其他任何名称:)
Alias /loooool /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
SetEnvIfNoCase User-Agent "^ZmEu" bad_bot
SetEnvIfNoCase User-Agent "^BackDoorBot" bad_bot
SetEnvIfNoCase user-agent "^BlackWidow" bad_bot
SetEnvIfNoCase User-Agent "^BotALot" bad_bot
完成所有这些后,重新加载 apache :D
service apache2 reload
哒哒 :D 再见 :)