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

Настройка тестового сервера

Я хотел установить тестовый сервер в моей домашней сети, чтобы я мог разрабатывать свой веб-сайт локально и просто обновлять его, когда у меня есть проблемы. Этим летом я начал изучать php (я работаю студентом в университете, в котором учусь), и на работе мы настраиваем веб-сайт в репозитории Subversion. Затем мы делаем нашу работу на сайте разработки, который отличается от действующего сайта. Когда приходит время обновлять действующий сайт, мой начальник «копирует» (полагаю, я не знаю наверняка) данные репозитория на действующий сайт. Кажется, что моему боссу не нужно менять какие-либо ссылки и т. Д. В коде. Причина, по которой я думаю, что это «просто работает», заключается в том, что каждый, кто работает на сайте, получает доступ к сайту разработчиков, используя другой URL-адрес. Мой вопрос: как мне добиться такой же (или подобной) настройки сервера? Если вам интересно, я использую настольную версию Ubuntu 9.04 с сервером LAMP (который, как я полагаю, установлен правильно).

Используйте apache для хостинга веб-сайтов. Если что-то из apache, mysql, php отсутствует, вы можете установить это с помощью apt-get или synaptic. Сайт работает просто путем копирования, вероятно, потому, что используются относительные ссылки вместо абсолютных.

Например, если вы хотите создать ссылку на папку b внутри папки a, есть два способа

<a href="b/other.php"> Link </a>

и

<a href="http://localhost/a/b/other.php"> Link </a>

Первая относительная, а вторая - абсолютная ссылка. Если вы подготовите сайт, используя только относительные ссылки, то сайт будет работать копипастом без проблем.

Причина, по которой ему не нужно менять ссылки, вероятно, состоит в том, что все в приложении использует относительные URL-адреса. Таким образом, ссылка на страницу будет "/services.html" вместо "http://www.mydomain.com/services.html".

Живой сайт также может находиться в репозитории, и в этом случае у вашего начальника может быть скрипт, который загружает последнюю версию из репозитория разработчиков в репозиторий prod, а затем фиксирует репозиторий prod.

Я предполагаю, что «за кулисами» существует сценарий, который извлекает последние обновления из репозитория и затем заменяет некоторые данные. Например, если сайт разработчиков - это dev.net, а производственный сайт - prod.net, сценарий заменяет все вхождения dev.net на prod.net, также скрипту необходимо проверить, указывает ли соединение с базой данных на правильный сервер базы данных.