Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Настройка виртуальных хостов веб сервера. Нужна помощь  (Прочитано 4953 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн WINGUNT

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Здравствуйте, я установил Ubuntu Server на виртуальной машине. Нужно поднять веб сервер, установил apache2, mysql-server, phpmyadmin, phpbb3, phpbb3-l10n, настроил конфигурацию apache для phpbyadmin и phpbb.

Надо, чтобы phpmyadmin был доступен не по адресу http://192.168.0.47/phpmyadmin , а по адресу http://192.168.0.47:10016/ , а тот сделать недоступным.

По сути нужно создать 2 виртуальных хоста, 1 для основного сайта - он уже есть по умолчанию, и нужно создать второй так, чтобы phpmyadmin открывался через порт 10016, к примеру.

Я редактировал /etc/apache2/sites-enabled/000-default, это ничего не дало, вернул обратно - арач не хочет подниматься.

Помогите пожалуйста создать 2 виртуальных хоста и настроить порты.

З.Ы. документацию апача читал, гуглом пользовался, но про настройку портов ничего не нашел... :'(
« Последнее редактирование: 23 Мая 2012, 06:53:12 от WINGUNT »

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Чтобы создать новый простенький виртуальный хост для phpMyAdmin на порт 10016 (например "phpmyadmin") надо:

1. Создай файл с именем хоста в "/etc/apache2/sites-available/".
sudo nano /etc/apache2/sites-available/phpmyadmin

2. Его минимальное содержание примерно такое:
<VirtualHost *:10016>
    DocumentRoot /usr/share/phpmyadmin
    <Directory /usr/share/phpmyadmin>
        Options FollowSymLinks
        DirectoryIndex index.php

        <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>

    LogLevel warn
    CustomLog /var/log/apache2/phpmyadmin-access.log combined
    ErrorLog /var/log/apache2/phpmyadmin-error.log
</VirtualHost>

3. Активируй хост.
sudo a2ensite phpmyadmin

4. Дополни файл "/etc/apache2/ports.conf" следующей строкой для порта 10016 (можно сразу после аналогичной строки, но для 80 порта):
Listen 10016

5. Чтобы phpMyAdmin не загружался на остальных хостах надо удалить симлинк:
sudo rm -f /etc/apache2/conf.d/phpmyadmin.conf

6. Чтобы изменения вступили в силу надо перезагрузить сервер:
sudo service apache2 reload

ЗЫ
Вроде должно заработать.

Оффлайн WINGUNT

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
unimix, спасибо!!  ;)

Хост добавился.
Я в директории /etc/apache2/sites-available создал файл phpmyadmin со следующим кодом

<VirtualHost *:10016>
ServerName phpmyadmin
DocumentRoot /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

В файле /etc/apache2/ports.conf добавил строчку
Listen 10016
Активировал хост
a2ensite phpmyadmin
Поправил в /etc/apache2/sites-available/default между <VirtualHost *:80> и </VirtualHost> добавил следующее
<Directory/usr/share/phpmyadmin>
Order deny,allow
Deny from all
</Directory>

Перезапустил apache
/etc/init.d/apache2 restart
PhpMyAdmin заработал с адреса http://192.168.0.47:10016

Но при перезапуске apache появилась следующая ошибка:


Я смотрел файл /etc/phpbb3/apache2.conf, но я там ничего не изменял. Как теперь можно исправить эту ошибку?
« Последнее редактирование: 23 Мая 2012, 18:31:14 от WINGUNT »

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Это не ошибки, а предупреждения.
Чтобы было понятней, покажи что там у тебя (под спойлер, не скрин):
cat /etc/phpbb3/apache2.conf

Оффлайн WINGUNT

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
unimix, вот. Я его не менял... В прошлый раз решалась полной переустановкой апача))))  :o


junior@Jigurda:/etc/phpbb3$ cat apache2.conf
# Note: order matters
Alias /phpbb/images /var/lib/phpbb3/images
Alias /phpbb /usr/share/phpbb3/www

<Directory /usr/share/phpbb3/www/>
        <IfModule mod_php5.c>
                php_flag register_globals off
        </IfModule>

        Options -Indexes +FollowSymlinks

        DirectoryIndex index.php

        AllowOverride None
        order allow,deny
        allow from all
</Directory>

### Multisite examples (see README.multiboard for details)

# For a second board on the same server using aliases:
#
#Alias /second_board/images /var/lib/phpbb3/images ### create!
#Alias /second_board /usr/share/phpbb3/www
#<Location /second_board>
#       php_value auto_prepend_file /etc/phpbb3/alternative_config.php
#</Location>

# For virtual host:
#<VirtualHost *:80>
#       # For using an alternative database (for multiple boards for example)
#       php_value auto_prepend_file /etc/phpbb3/virtualhost_config.php
#
#       ServerName forum.example.com
#       DocumentRoot /usr/share/phpbb3/www
#       # You may need to workaround the global /images/ alias in your apache
#       # configuration, your mileage may vary
#       Alias /images /var/lib/phpbb3/images
#</VirtualHost>
« Последнее редактирование: 23 Мая 2012, 22:11:47 от WINGUNT »

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Выложи ещё текущие настройки апача:
ls -l /etc/apache2/conf.d; cat /etc/apache2/ports.conf /etc/apache2/sites-enabled/*

Оффлайн shushpanchik

  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
    • SKSS - "Современные компьютерные сети и системы"
А шо ж (ИМХО) так сложно всё... Зачем нужно было апт-гетить бэбэшку? Идешь сюда, качаешь zip с актуальной версией, распаковываешь в /var/www/html. Сам бэбэшник ставим по этому мануалу, предварительно создав базу данных:
sudo mysql -u root -p
В оболочке мускула:
CREATE DATABASE bb_db;
GRANT ALL ON bb_db.* TO 'bb_user'@'localhost' IDENTIFIED BY 'bb_pass';
GRANT ALL ON bb_db.* TO 'bb_user'@'localhost.localdomain' IDENTIFIED BY 'bb_pass';
FLUSH PRIVILEGES;
exit;
где (сменить на свои варианты):
bb_db - имя базы данных
bb_user - юзер базы данных
bb_pass - пароль юзера базы данных

После этого создать виртуальных хост как описал unimix в посте #1. После рестарт индейца и радуемся.

Зы. Повторюсь, все это мое ИМХО. Лично я делаю именно таким путем. Создание самой базы данных можно поручить и PHPMyAdmin'у.
« Последнее редактирование: 29 Мая 2012, 12:23:47 от shushpanchik »

Оффлайн WINGUNT

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Я создавал базу phpmyadminom, перенес туда базу форума, поменял конфигурацию пхпбб только название бд.
А как скачать, если на сервере только доступ через ssh?

Оффлайн saymon21root

  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
    • https://saymon21-root.pro
WINGUNT,
Скачать саму базу? Например самый простой вариант
mysqldump -uимя_юзера -p имя_нужной_базы > имя_базы.sql

Оффлайн WINGUNT

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
denis32,
Спасибо


С хостами я разобрался, в конфиге апача добавил строчку
Listen 10016
А в /etc/apache2/sites-available/default прописал следующее:
<Directory /usr/share/phpmyadmin>
Order deny,allow
Deny from all
</Directory>

А в папке /etc/apache2/sites-available создал файл phpmyadmin, записал в него примерно следующее:
<VirtualHost *:10016>
<Directory /usr/share/phpmyadmin>
Order allow,deny
Allow from all
</Directory>

Варнинги апача остались, но phpmyadmin стал работать по адресу http://192.168.0.54:10016
а по адресу http://192.168.0.54/phpmyadmin пишет "FORBIDDEN Access Denied"! Как раз то, чего я так долго и добивался.

Оффлайн dimamur

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
нашел sh скрипт для автоматического создания вирт хостов, работает на ура
распаковываем в домашнюю директорию и в консоли пищем sudo sh virt-host.sh site.ru, скачал отсюда http://webguruz.ru/ubuntu/apache-virtualhost/

 

Страница сгенерирована за 0.394 секунд. Запросов: 22.