У меня есть установка простой веб-сервис (MediaWiki) в моем локальном сервере. В моем сервере DSN я установил IP-адрес на этот веб-сервер, поэтому теперь, когда я звоню в браузер (это работает только в моем доменном диапазоне IP), www.mydomain.com
Я получаю веб-сайт Apache, когда я звоню www.mydomain.com/mediawiki
затем мой сайт mediawiki открыт.
Я могу сделать это в браузере (все еще я whant это для работы только в доменном диапазоне), я звоню www.mydomain.com
это открывается - перенаправления к www.mydomain.com/mediawiki
?
Поскольку это имеет целью Вас, должен изменить содержание Виртуального конфигурационного файла Хоста по умолчанию 000-default.conf
это расположено в /etc/apache2/sites-available/
. Или можно создать новый Виртуальный конфигурационный файл Хоста, затем необходимо отключить 000-default.conf
и включите новый.
Давайте предположим, что Вы решаете создать новый конфигурационный файл СПИДОБАРОГРАФА, позволяет, называют его my.wiki.org.conf
, это должно быть расположено в /etc/apache2/sites-available/
и его содержание должно быть чем-то как:
<VirtualHost *:80>
ServerName my.wiki.org
ServerAdmin your-admin@email.com
# According MWiki Manual:Security
php_flag register_globals off
ErrorLog ${APACHE_LOG_DIR}/my.wiki.org.error.log
CustomLog ${APACHE_LOG_DIR}/my.wiki.org.access.log combined
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
DocumentRoot "/var/www/my.wiki.org"
<Directory "/var/www/my.wiki.org">
Options None FollowSymLinks
#Allow .htaccess:
AllowOverride All
Require all granted
</Directory>
# According to MWiki Manual:Security
<Directory "/var/www/my.wiki.org/images">
Options -Indexes
# Allow .htaccess files
AllowOverride All
# Serve HTML as plaintext, don't execute SHTML
AddType text/plain .html .htm .shtml .php .phtml .php5
# Don't run arbitrary PHP code.
php_admin_flag engine off
# If you've other scripting languages, disable them too.
</Directory>
# According to MWiki Manual:Security
<Directory "/var/www/my.wiki.org/images/deleted">
Deny from all
AllowOverride AuthConfig Limit
Require local
</Directory>
</VirtualHost>
Затем отключите 000-default.conf
, включить my.wiki.org.conf
и перезапуск (или перезагрузка) конфигурация Apache:
sudo a2dissite 000-default.conf
sudo a2ensite my.wiki.org.conf
sudo systemctl restart apache2.service
Ключевой пункт здесь - то, что Вы изменились DocumentRoot
из Виртуального Хоста каталога установки MediaWiki. Я принимающий здесь этот каталог /var/www/my.wiki.org
.
Кроме того, если Вы хотите вручить свои статьи Wiki my.wiki.org/wiki/Article_name
, вместо my.wiki.org/index.php/Article_name
, можно включить следующие строки .htaccess
файл, расположенный в DocumentRoot
каталог:
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/index.php [L]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2 [L,QSA,B]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
</ifModule>
И измените Ваш LocalSettings.php
следующим образом:
$wgScriptPath = "";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
Ссылки об этой дополнительной части:
В тестовых целях Вы могли добавить некоторые строки, как показанный ниже, в Вашем /etc/hosts
файл для доступа к Wiki через FDQN вместо localhost или IP-адреса в LAN (больше деталей):
127.0.0.1 localhost my.wiki.org # access my.wiki.org from the same machine
192.168.0.150 my.wiki.org # access my.wiki.org that is hosted on another LAN machine with IP 192.168.0.150
Еще одно примечание по безопасности: для общедоступных серверов:
Чтение также: