Назад | Перейти на главную страницу

Укажите поддомен на phpmyadmin, установленном в ubuntu 12.04

Я немного боролся с этой настройкой. Я установил все необходимые компоненты для 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>

то, что я добавил, было <VirtualHost> обертка тега и ServerName и эти Options All AllowOverride All Require all granted

когда я получаю доступ к URL-адресу, он выдает 404 код: Запрошенный URL / не найден на этом сервере.

и журналы содержат эту запись: File does not exist: /etc/apache2/htdocs спасибо за ваши предложения.

Все, что вам нужно сделать, это настроить поддомен для 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>

Сохраните это в /etc/apache2/sites-available/phpmyadmin.conf и включите поддомен.

a2ensite phpmyadmin

И перезапустите сервер apache

service apache2 reload

Теперь вы можете использовать phpmyadmin из phpmyadmin.example.local.

Что вам действительно нужно, так это CNAME с вашим решением DNS. Например, если вы использовали кого-то вроде godaddy.com, вы бы добавили cname data.somedomain.com на его страницу управления DNS, которая преобразуется в somedomain.com.

Беглый просмотр вашего виртуального хоста nginx, вы можете сначала начать с минимальной конфигурации, которая просто направляет запросы для data.somedomain.com на ваш / usr / share / phpmyadmin. Я также предлагаю заблокировать phpmyadmin с помощью htaccess (нет ничего хуже, чем взломать вашу базу данных).

Вы упомянули сообщение об ошибке File does not exist: /etc/apache2/htdocs определенно является признаком параметра DocumentRoot неправильно указан для виртуального хоста. Убедитесь, что вы указали правильный каталог.

phpMyAdmin все еще настроен по пути /phpmyadminвы должны найти это http://data.example.com/phpmyadmin/ работает. Вы можете либо изменить Alias директива (и другие ссылки на /phpmyadmin) к / представить его под корень:

Alias / /usr/share/phpmyadmin

Или вы можете перенаправить / к /phpmyadmin:

RewriteRule   ^/$  /phpmyadmin/  [R]