如何添加自定义目录,例如phpmyadmin?


11

据我所知apache很少。我想让它成长,以便在LAMP方面有更多经验。我今天的热门问题是:

如何将自定义目录添加到Web服务器?(例如phpmyadmin)?

我的目标是能够使用内部自定义网站创建自定义地址。假设我的自定义目录位于:/media/my/web/portal1并且我想在客户端调用时加载它

http://localhost/myportal1 at webbrowser. 

您能给我几步解释的步骤清单吗?

Answers:


26

编辑您的Apache配置文件并添加Alias指令。例如,让我们使用默认文件。

sudo -e /etc/apache2/sites-available/default

通过在VirtualHost指令内添加一个部分来创建别名:

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

Directory指令中添加更多指令,例如

Options Indexes FollowSymLinks 

参见http://httpd.apache.org/docs/2.2/mod/core.html#directory

那是你的追求吗?


我认为进行这些更改后重新加载Apache就足够了吗?
Jo-Erlend Schinstad '01年

哦-是的...谢谢Jo-Erland Schinstad

谢谢克里斯托弗!那就是我想要的!:)
Adrian K.

我在<Directory>部分中添加了此行,以防止出现Forbidden错误,希望该编辑将很快被接受:要求全部授予
Richard

3
无需在别名中添加斜杠。它强制用户严格将其键入URL。在这种情况下,Alias / myportal1不同于Alias / myportal1 /。注意缺少结尾的斜杠。
Gilberto Albino

6

一个更简单的替代方法是从文档根目录创建一个软链接。例如,如果文档根目录是“ / var / www”(在大多数Linux系统上是默认值),则以下命令可以解决问题:

sudo ln -s /media/my/web/portal1 /var/www/myportal1

这可以立即生效-您甚至不需要重新加载Apache服务器。


1

和您一样,Apache是​​系统中的用户,但它无法登录。这意味着对Apache的文件访问与对您的文件访问完全相同。因此,首先,如果Apache应该在/ media / something中提供目录,则Apache必须有权读取它及其文件。

其次,要设置一个使用此目录作为主目录的站点,请创建站点文件,例如/ etc / apache2 / sites-available / your-site。这是所谓的虚拟主机的一部分。有两种不同的类型。一种基于名称(域名),另一种基于IP。最常见的设置是使用基于名称的虚拟主机。您可以在这里阅读有关此内容的更多信息:http : //httpd.apache.org/docs/2.2/vhosts/


感谢您的参考。我一定会深入研究!:)
Adrian K.

0

两行很简单:

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

tadaaa:D ciao :)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.