Я установил Jenkins на удаленный сервер под управлением Debian 6.0.6 с готовым к использованию экземпляром Apache 2, выполнив следующие инструкции:
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add -
sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
apt-get update
apt-get install jenkins
Затем я сделал некоторую настройку:
a2enmod proxy
a2enmod proxy_http
a2enmod vhost_alias
Я создал файл /etc/apache2/sites-available/jenkins
:
<VirtualHost *:80>
ServerName mydomain.de/jenkins
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost on
ProxyPass /jenkins http://mydomain.de:8080/jenkins
</VirtualHost>
И, наконец, перезапустили Apache с /etc/init.d/apache2 restart
.
Теперь я не могу связаться с ним через веб-браузер. Ни одна из следующих строк не работает:
mydomain.de/jenkins
mydomain.de:8080
mydomain.de:8080/jenkins
Использование первого адреса вызывает следующее сообщение об ошибке в /var/log/apache2/error.log
:
File does not exist: /var/www/main/jenkins
РЕДАКТИРОВАТЬ: я только что узнал, что, запустив браузер на удаленном сервере, я могу получить доступ к Jenkins, посетив http://localhost:8080
. Значит Дженкинс работает, только перенаправление все равно ошибочно.
Директива ServerName
Описание: имя хоста и порт, которые сервер использует для идентификации.
Синтаксис: ServerName [схема: //] полное-доменное-имя [: порт]
Контекст: конфигурация сервера, виртуальный хост. Статус: Основной Модуль: Ядро.
Вам не нужен, фактически, вы не можете использовать каталог как часть полного доменного имени.
Из Википедии:
Полное доменное имя (FQDN), иногда также называемое абсолютным доменным именем, [1] - это доменное имя, которое указывает его точное местоположение в древовидной иерархии системы доменных имен (DNS). Он определяет все уровни домена, включая домен верхнего уровня и корневую зону. [2]