Если у вас есть свой сайт, то вы, наверное, не раз что-то изменяли в нём: меняли что-то в шаблоне, тестировали новые плагины и так далее. Такие эксперименты очень опасно производить на рабочем сайте, так как ошибки могут стоить очень дорого.
А иногда нам сначала нужно создать сайт, а только потом выложить её в сеть. Для всего этого лучше установить сервер LAMP на своём компьютере, загрузить туда копию своего сайта и экспериментировать сколько угодно.
Что такое LAMP?
Во-первых, что такое LAMP? LAMP — это набор серверного программного обеспечения и назван по первым буквам входящих в его состав компонентов:
Linux — OS Linux;
Apache — веб-сервер;
MySQL — база данных;
PHP — язык программирования.
В Linux всё это можно установить одной командой, в отличии от Windows, в котором нужно устанавливать специальный эмулятор веб сервера — DENVER. Как установить сервер LAMP?
1. Как установить сервер LAMP на компьютер?
Открываем терминал и вводим команду:
sudo apt-get install apache2 php5 mysql-server php5-mysql phpmyadmin
Началась установка пакетов. Во время установки вас попросят придумать пароль для базы данных — не забудьте его потом, это важно.
После этого вас спросят, какие компоненты сервера вы хотите установить. Выберите Apache и нажмите на пробел, чтобы поставить галочку:
После этого нам предложат настроить пакет phpmyadmin, который необходим для доступа к базам данных через браузер. Говорим ДА.
Нас опять попросят сначала ввести пароль root, а затем придумать новый пароль. Я использую на всех этапах один и тоже пароль администратора, чтобы потом не путаться, что и вам советую.
Всё, веб сервер LAMP установлен на ваш компьютер. Но это ещё не всё, теперь его нужно немного до настроить и научиться им пользоваться.
2. Как настроить веб сервер после установки?
Самый первый шаг после установки сервера, который полезно сделать — это изменить директорию, в которую мы будем заливать движок или движки для своих тестовых сайтов. Дело в том, что по умолчанию папка, куда нужно заливать сайт, находится на системном разделе: /var/www
Если вы потом переустановите систему, то форматирование системного раздела уничтожит все ваши наработки. К тому же постоянно лазить в системный раздел, который в Ubuntu теперь стал невидимым, не очень удобно. Но мы можем легко переместить эту папку в нашу домашнюю директорию. Как это сделать? Вводим в терминале:
sudo gedit /etc/apache2/sites-available/default
В открывшемся файле ищем слова /var/www и переписываем на то, что нам нужно, например, создаём в домашней директории тоже папку с названием WWW и прописываем её адрес.
После этого нужно перезагрузить сервер.
sudo service apache2 restart
Теперь вы можете заливать ваш движок сайта в созданную вами папку в домашней директории. (У меня это WWW) Если вы будете работать с несколькими сайтами, то создайте подпапки и в них скопируйте нужные файлы. Теперь, когда вы будете в браузере заходить на определённый локальный сайт, вы просто допишите к адресу сайта адрес под папки, например так:
http://localhost/1saite http://localhost/2saite http://localhost/3saite
Теперь ещё один важный момент — это создание базы данных. Для этого нам нужно открыть браузер и набрать адрес: localhost/phpmyadmin Логин: root Пароль: какой вы создали при установке.
После этого вы можете создать новую базу данных или залить дамп базы данных вашего рабочего сайта — дело хозяйское.
Как перенести сайт на хостинг?
Теперь ещё последний, но часто очень важный нюанс. Если вы будете переносить базу данных с локально сервера на реальный хостинг, или наоборот, то вам нужно ОБЯЗАТЕЛЬНО исправить все url адреса в базе данных. Ведь на локальном сервере адрес будет _http://lacalhost и таким он останется при переносе сайта. Сайт работать просто не будет. Как это исправить? Очень просто!
Заходим в phpmyadmin во вкладку SQL, чтобы выполнить SQL-запрос(ы) на сервере «localhost»: и вводим такие команды:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.СТАРЫЙУРЛ.com', 'http://www.НОВЫЙУРЛ.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.СТАРЫЙУРЛ.com', 'http://www.НОВЫЙУРЛ.com'); UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.СТАРЫЙУРЛ.com', 'http://www.НОВЫЙУРЛ.com'); UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.СТАРЫЙУРЛ.com', 'src="http://www.НОВЫЙУРЛ.com'); UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.СТАРЫЙУРЛ.com', 'http://www.НОВЫЙУРЛ.com') WHERE post_type = 'attachment'; UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.СТАРЫЙУРЛ.com','http://www.НОВЫЙУРЛ.com');
Только подставьте нужные вам адреса в команды, так как написанное лишь ОБРАЗЕЦ. Эти команды меняют:
1. URL главной
2. URL страниц
3. URL ссылок в статьях (перелинковку)
4. URL картинок
5. URL прикреплённых файлов
6. URL в meta описании
Наверное это всё, как установить веб сервер LAMP на свой компьютер теперь вы знаете. Как обычно, ничего сложного. Успехов в создании новых сайтов, полезных и интересных! Если будут вопросы, пишите в комментариях.
А можно ли будет открывать сайт через локальную сеть? К примеру установиться LAMP на отдельный компьютер(Сервер), а потом с компьютера под управлением Винды зайти на этот сайт вписав в адрес скажем Ipсервера/1site.
Конечно можно, и ещё как можно.
После первой команды в терминале вот такое сообщение:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет libapache2-mod-auth-mysql недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list
E: Для пакета «libapache2-mod-auth-mysql» не найден кандидат на установку
В общем, не знаю что дальше делать, подскажите, буду благодарен
У меня стоит Минт 16.
Андрей, попробуйте без этого пакета, возможно он и не нужен будет:
sudo apt-get install apache2 php5 mysql-server php5-mysql phpmyadmin
Да, что то они совсем изменили настройки apache, теперь и не знаю как настроить его нормально. Зачем всё так портить:
Буду пробовать ставить nginx сервер, говорят он лучше апача. А то что то не пошла у меня новая версия:(
День добрый!
1. Подскажите, как сделать доступ к сайту не по такому адресу _http://localhost/1saite.lan, а сразу _http://1saite.lan.
2. можете подсказать или дать ссылку, как поднять web-сервер, но чтобы он не локальны был, а через инет доступ к своему (своим) сайту(ам) получать.
1. Вопрос в том, а зачем это нужно? Можно просто зайти по адресу http://localhost Если не нравится слово localhost на другое слово, но суть не поменяется.
2. Я понял, что вы хотите на компьютере запустить сайт, и чтобы к нему доступ был их интернета для всех? Тогда тут нужно начать с выделенного ip адреса, эта услуга покупается у провайдера.
1. Не совсем то, что я хотел спросить. Я имел ввиду создать в директории WWW несколько папок с различными названиями (site1, site2…) и получается что каждая папка отдельный сайт (это я по денверу на виндовсе помню, что в нем так делалось). Или на одном сервере можно разместить только один сайт?
P.S. и как тут создавать поддомены?
2. Да именно это я хочу попробовать сделать. Кроме ip-адреса что-то понадобиться еще? Как насчет ДНС и т.п.?
1. Да, можно сколько хочешь сайтов так сделать, в под папках. В поддоменах сделать сложнее, тут нужно dns адреса настраивать.
2. Я думаю, что нужно начать с того, чтобы получить доступ к сайту по ip, а остальное уже приложиться. Но покупать доменное имя всё равно придётся, только потом его нужно прикручивать к своему хостингу.
Подробнее не знаю, пока такое у себя не делал. Была мысль, но нужно держать компьютер постоянно включенным, а у меня пока это не возможно. Да и что платить за выделенный ip провайдеру, что покупать хостинг — цена та же.