Образ Ubuntu для локальной разработки
Сегодня в комментариях хороший человек Денис Артамонов поделился ссылкой на собранную им виртуальную машину для работы с MODX.
«Это гениально!», подумал я, и немедленно принялся делать такую же, тольколучше на Ubuntu — ибо сам на ней работаю и все свои скрипты\инструкции пишу именно для нее. Теперь многие люди смогут сказать «Прощай, Denwer!».
Итак, что вышло:
Сделано по этой заметке, если вам нужны подробности.
Установка
Инструкция для Windows-юзеров.
0. Ставим на закачку мой образ машины.
1. Качаем VirtualBox отсюда.
2. Ставим его, обращая внимание на то, что у вас создается новый сетевой адаптер.
3. Добавляем (CTRL+A) скаченную машину в VirtualBox.
И проверяем настройки сетевого адаптера — должен быть «сетевой мост».
4. Стартуем машину! Логин/Пароль:
Если у вас в локальной сети есть DHCP-сервер, например на роутере, то проблем нет — виртуальная машина сама получит айпишник и пойдет в интернет. Вам нужно только узнать, какой у нее ip:
И прописать доменные имена для него.
Виртуальная машина настроена на доменное имя modx.local. В ней уже установлен PhpMyAdmin, поэтому, как минимум, нужно прописать его:
Доменные имена могут быть любыми, главное — их указать в C:\Windows\System32\drivers\etc\hosts. Редактировать этот файл можно только как администратор — для этого надо запустить соответствующим образм блокнотик. Погуглите немного, если не понятно как.
Если DHCP сервера дома нет — придется указывать ip, шлюз и ДНС вашей подсети вручную. Делается это в файле /etc/network/interfaces. Подробнее — тут.
Например:
Машина должна пинговаться с вашего компьютера по ее ip. Также, она должна ходить в интрнет (попингуйте 8.8.8.8 и ya.ru, например).
Если все работает -ура!
Работа
Итак, сервер запущен и работает. Что теперь?
Первым делом, сворачиваем окошко виртуальной машины, качаем putty и заходим на сервак по SSH. Да, все по взрослому.
Теперь от имени суперюзера (через sudo) мы может работать с сайтами. Для этого я установил несколько скриптов:
Дальше можно открыть любимый редактор и по SFTP подключаться для редактирования чего угодно, на этом сайте. Я использую Notepad++ с SFTP плагином (идет в комплекте).
Один сайт — один юзер для php5-fpm и для mysql. Он имеет доступ только к своим документам, в консоль ходить не умеет — только SFTP. Можно использовать WinCSP и FileZilla для работы с файлами.
---
Пароли:
Внимание!
Если на версии MODX 2.2.5 вы не можете войти в админку — поправьте скрипт установки сайта в /root/modx/modx-install. Нужно добавить в него такую строку:
Актуальная версия скрипта всегда тут.
«Это гениально!», подумал я, и немедленно принялся делать такую же, только
Итак, что вышло:
- Сервер на LTS релизе Ubuntu 12.04.1, со всеми апдейтами на сегодня
- Установлены всякие нужные пакеты
- Настроены Nginx + Php5-fpm
- Установлены скрипты для работы с сайтами (о них чуть ниже)
- Настроен SSH для юзеров сайтов
Сделано по этой заметке, если вам нужны подробности.
Установка
Инструкция для Windows-юзеров.
0. Ставим на закачку мой образ машины.
1. Качаем VirtualBox отсюда.
2. Ставим его, обращая внимание на то, что у вас создается новый сетевой адаптер.
3. Добавляем (CTRL+A) скаченную машину в VirtualBox.
И проверяем настройки сетевого адаптера — должен быть «сетевой мост».
4. Стартуем машину! Логин/Пароль:
user/123456 или root/12345678905. Настройка доступа в интернет.
Если у вас в локальной сети есть DHCP-сервер, например на роутере, то проблем нет — виртуальная машина сама получит айпишник и пойдет в интернет. Вам нужно только узнать, какой у нее ip:
И прописать доменные имена для него.
Виртуальная машина настроена на доменное имя modx.local. В ней уже установлен PhpMyAdmin, поэтому, как минимум, нужно прописать его:
192.168.100.148 pma.modx.localТакже, нужно будет прописать и другие сайты, которые вы создадите — все сайты в одну строку через пробел для одного ip адреса сервера.
Доменные имена могут быть любыми, главное — их указать в C:\Windows\System32\drivers\etc\hosts. Редактировать этот файл можно только как администратор — для этого надо запустить соответствующим образм блокнотик. Погуглите немного, если не понятно как.
Если DHCP сервера дома нет — придется указывать ip, шлюз и ДНС вашей подсети вручную. Делается это в файле /etc/network/interfaces. Подробнее — тут.
Например:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.100.148
netmask 255.255.255.0
gateway 192.168.100.16. Проверяем.Машина должна пинговаться с вашего компьютера по ее ip. Также, она должна ходить в интрнет (попингуйте 8.8.8.8 и ya.ru, например).
Если все работает -ура!
Работа
Итак, сервер запущен и работает. Что теперь?
Первым делом, сворачиваем окошко виртуальной машины, качаем putty и заходим на сервак по SSH. Да, все по взрослому.
Теперь от имени суперюзера (через sudo) мы может работать с сайтами. Для этого я установил несколько скриптов:
- sudo modx-install — нужно задать имя юзера, пароль на вход в админку и доменное имя (а его прописать в hosts)
- sudo modx-update — нужно только имя юзера (и сайта — опционально)
- sudo modx-remove — удаляет все, связанное с сайтом, включая БД и юзера. Безвозвратно.
- pass.txt — файл со всеми нужными паролями от сайта
- chmod — консольный скрипт для исправления владельцев и прав всех файлов/директорий сайта на правильные
- config.xml — конфиг установки, пригодится при обновлении сайта вторым скриптом.
Дальше можно открыть любимый редактор и по SFTP подключаться для редактирования чего угодно, на этом сайте. Я использую Notepad++ с SFTP плагином (идет в комплекте).
Один сайт — один юзер для php5-fpm и для mysql. Он имеет доступ только к своим документам, в консоль ходить не умеет — только SFTP. Можно использовать WinCSP и FileZilla для работы с файлами.
---
Пароли:
SSH: user/123456 или root/1234567890 Mysql: root/mysqlpassword или любой другой mysql-юзер/егопароль pma.modx.local: те же, что и у Mysql - это просто web интрфейсСкачать образ с rutracker.org
Внимание!
Если на версии MODX 2.2.5 вы не можете войти в админку — поправьте скрипт установки сайта в /root/modx/modx-install. Нужно добавить в него такую строку:
php_admin_value[soap.wsdl_cache_dir] = /var/www/$USERNAME/tmpЗатем нужно удалить\поставить сайт заново, или поправить его конфиг в /etc/php5/fpm/pool.d/username.conf.Актуальная версия скрипта всегда тут.
Комментарии: 120
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.








Это ж серверная версия — рабочего стола нет, тормозить нечему.
Попробую серверную накатить, посмотрю.
Запускать скрипт vboxstart.vbs (VBoxHeadless.exe ищем в папке где установлена виртуалбокс, в скрипте пути и VBOXIMAGE соответственно свои)
общая папка d:\www\site1\ примонтирована сюда /var/www/site1/
Цель — получить папку с сайтом в хост машине. И не надо самбы.
А на хостингах не бывает Samba.
Опыт должен быть тот же. Разработчик должен привыкать работать на сервере и осваивать инструменты, а не мышкой таскать файлы.
А еще при работе через самбу будут биться права на директории и файлы — ибо владеть ими будет один самба-юзер.
Удалите этот сайт и создайте другой.
Смею вас заверить — я тут совершенно не при чем.
А не Ubuntu.vbox
Замечаете разницу?
Решил следующим образом: itandlife.ru/os/virtualization/virtualbox/ustanovka-ubuntu-v-virtualbox/ — описание между «Настройка виртуальной машины под управлением Ubuntu Linux» и «Установка Ubuntu в качестве гостевой операционной системы», а так же скачиванием образа Ubuntu с оф сайта.
Какая официальная Ubuntu? Я дал ссылку на раздачу, где лежит образ виртуальной машины. Ее надо было скачать и подключить в VirtualBox.
Да что ж за обострение такое?!
rutracker.org/forum/viewtopic.php?t=4194961
Обострение есть.
cat /etc/network/interfaces
П.С.
ifconfig и ipconfig в cmd выдают на гора разные ip, оба пробовал. Сижу чаще всего через вай фай в разных кафе, ну, и дома, конечно. В инете ничегоо вменяемого по Ubuntu через wifi не нашёл.
# Wi-Fi
auto wlan0
iface wlan0inet static
address
netmask
gateway
nameservers
не дали результата.
1. У меня роутер, снаружи белый ip, внутри локалка.
2. У роутера адрес 192.168.100.1
3. У ноута — 192.168.100.142
4. У виртуальной машины, внутри ноута — 192.168.100.148.
Таким образов они все друг друга пингуют — это одна сеть. Уже можно работать с виртуалькой, только она пакеты не скачает из репозитория =)
Поэтому, надо настроить ей выход в инет — для этого на виртуалке нужны те же настройки, что и на ноуте: шлюз, подсеть и DNS.
У меня это:
шлюз 192.168.100.1 (роутер)
подсеть 255.255.255.0
dns: 8.8.8.8
Все. Должно работать. Чтобы так все было, сеть виртуалки должны быть в режиме моста с вашей реальной сетевой на компе — это настраивается в VirtualBox.
И так вводил, как Вы писали (вроде бы), и так, как тут: linux-teapot.blogspot.ru/2009/09/ubuntu.html и так, как тут: ubuntologia.ru/network-manual-configuration и ещё по паре вариантов — Файлед Бринап на троне и всё тут :(
Где тут может ныкаться ошибка, как думаете?
ru.wikipedia.org/wiki/VMDK
На:
Не sitename.conf а username.conf
P.S. спасибо за вашу работу!
При этом ресурс по умолчанию site.modx.local доступен. Права выставил, что уже делать ума не приложу…
П.С.
Есть основания полагать, что я таки пробился в инет :)
1. Время ожидания истекло :0)
2. 127. *** — соединение сброшено уд. хост.
rutracker.org/forum/viewtopic.php?t=4342499
Файлы сервера можно упаковать через MC, и положить архив в корень сайта, откуда потом и скачать.
Вот официальная инструкция по настройке на другом сервере. Если это сервере, настроенный по моим иснтрукциям — особо ничего делать и не придётся, так как имена директорий совпадут, останется только поменять пароли.
SFTP — работа с файлами через SSH.
Через это приходим к выводу, что «putty там всякие» не передают файлы.
Есть волшебная страна, Серверландия. В неё ведут два моста — telnet и ssh. Первый мост очень старый и на нем живут разбойники, которые могут украсть посылки, перевозимые по telnet, ибо там нет шифрования.
Второй мост более новый, и все посылки там шифруются, разбойникам ловить нечего, поэтому мост ssh считается очень безопасным, и все путешествуют в Серверландию через него.
Еще раз, всё общение с волшебной страной происходит через эти 2 моста, других путей нет. Есть разные заброшенные или служебные мостики, типа FTP или Rsync, но нам они не интересны, пока.
Как и по любому другому мосту, по ssh можно перевозить грузы и путешественников. Путешественники лично работают в Серверландии, а грузы (файлы) содержат разную информацию.
Людей и грузы перевозят разные транспортные компании. Самая популярная ТК для людей — Putty,. Грузами заведуют другие программы, WinCSP или Filezilla.
Еще раз, разные транспортные компании занимаются разными перевозками. Putty не возит грузы, а WinCSP людей. Транспортных компаний, перевозящих людей или грузы через мост ssh бесчисленное множество и все они выполняют разные перевозки.
Но самое чудесное живет в самой Серверландии. Там есть много волшебных существ — программ, которые выполняют разную работу. Есть волшебный веб-сервер Nginx, а есть джинн Php5-fpm, выполняющий страшные но прекрасные заклинания на древнем языке Php.
Обычному путешественнику темно и страшно ходить по улицам Консоли, чтобы общаться с Программами, поэтому они пользуются удобными программами-помощниками, которые тоже живут в Серверландии. Менеджер фалов Mindnight Commander (MC), Системный монитор Htop — несть им числа.
У MC, кстати, есть дальние родственники, из стран DOS и Windows. Norton Commander, Total Commander и другие.
Еще раз, все они живут на сервере, в который можно попасть через мост ssh.
Надеюсь, теперь должно быть понятно, как устроено общение с Серверландией.
А вообще, интересная интерпретация. :)
ssh ключи для удаленного сервера лежат по адресу /home/user/.ssh/, username — удаленный username, mysqlpassword — указывать пасс, uroot — можно рут можно uuserofdb, xx.xx удаленный айпи, и синхронизируемые каталоги — (лучше почистить кэш перед синхронизацией, удобно синхронизировать только /assets) в таком виде удаляет все левые файлы, получаем 2 клона, можно и в обратную сторону бэкапить удобно. По скорости тоже вроде ничего, насколько я понял, перед пересылкой все сжимается.
Только это фиг запомнишь, надо копипастить =)
Василий, я в баше не рублю, но подозреваю, что оформить это скриптом можно и замутить уже свой персональный modxcloud )
Почти все сделал, есть небольшие запинки, но скоро разберусь, все таки материал создан для не совсем новичков.
Наконец то можно выкинуть опенсервер!
Настроение поднято на +100500, спасибо огромное!
Эти навыки пригодятся при работе на реальных серверах. Очень большой плюс в нашем деле.
Спасибо еще раз, действительно очень темный материал, его бы немного подробнее расписать и можно было бы всем новичкам без исключения давать вместо опенсерверов и денверов.
Вот заметка №1, а вот №2 + видео.
Вот интересует пара моментов.
1. По поводу джумлы, почему ее так не любят? Есть какие то реальные недостатки или просто из за общего мнения?
(я ее не на вижу после примерно трех лет работы, но за реальные минусы при продвижении и юзабилити, но плохим движком не считаю)
2. Ну это уже так на удачу как говорится ))) Не давно решил расширить кругозор и по изучать пхп, написал свою первую типа программу, это своего рода «недо phpmyadmin». Вот и вопрос – написать то написал, а вот оценить некому, если есть немного времени и главное хоть доля желания, не мог бы ты посмотреть и высказать мнение? (повторюсь, если есть хоть малейшее не желание, то конечно же делать это не стоит и этим не кого ты не обидишь)) ).
2. Ты бы еще гитлера попросил, я тебе понаоцениваю, ага. Лучший способ научиться — смотреть и повторять, как делают другие.
Если тебе удобнее пользоваться твоим приложением, чем phpMyAdmin — выкладывай в общий доступ и рекламируй. Если нет — исправляй, пока не станет удобнее.
А у меня времени смотреть нет, извини.
Спасибо!
Василий, может стоит попробовать сделать на базе Turnkey Linux. Он весит ~150 mb, при этом уже много модификаций, типо «LAMP», есть и «чистая» сборка.
Давай, сам работай =)
Получил ошибку Error: parse_ini_file() has been disabled for security reasons
Пошел в /etc/php5/fpm/php.ini искать disable_functions — не нашел.
После выхода модх 2.2.11, скрипт установки перестал корректно работать, скачивает зип пакет и кидает его в созданную директорию, но не устанавливает. Может это быть связано с изменением установочного процесса в движке?
Мой провайдер выдаем мне свои днс, и походу дела, у него что то накрылось, то есть даже яндекс не возможно было пингануть. Пришлось в ручную прописать днс гугла. (возможно не совсем точно выражаюсь, не специалист.)
Если у кого то возникнет подобная проблема, то решается так:
Идем в файл /etc/resolv.conf.
И дописываем строчку:
У меня везде дома днс прописан 8.8.8.8
Статичный ip нужен на компьютере с виртуальной машиной?
ps: что-то с изображениями в этой статье
Картинки поправил.
В общем вдвух словах имел место набор русскими буквами.
Нужно было прекратить безобразие, когда семейство постоянно лазит по компьютеру. Установить в Windows пароль не помогло. Его под разными предлогами выпрашивали. С Linux все просто — даже зная пароль, семейство включает компьютер, пару минут в недоумении смотрит и выключает.
По роду своей деятельности связан с MMORPG разработкой. В конечном итоге игры меня затянули и я перестал видеть границу где еще работа, а где уже игра. Плюс ко всему это мешало развиваться профессионально. Поставив Linux я сознательно ущемил свои возможности «поиграть вечером пару часиков».
Третьим пунктом стало хобби. Пока что считаю его не реализованным. Хобби — создание своего сайта с блогом, галереей и прочими плюшками. Хостинг изначально выбирал на Linux.
Четвертое. Мне надоели причуды Windows. Начиная от всевозможных вирусов и червей из локальной сети, для которых приходилось ставить и антивирус и настраивать файервол и заканчивая ее подвисаниями на ровном месте. Пару раз ловил синий экран из-за того, что выключая компьютер не дал завершиться установке обновлений и выдернул флешку.
Есть и менее значительные пункты которые мало интересны.
В принципе можно и Windows настроить, чтобы более-менее все работало. Но тут хочется сказать следующее — Windows с коробки не такая уж и работоспособная. И для работы ее все равно придется настраивать и тратить на это время. Поэтому непонятно высказывание в интернет, вроде «зачем Linux где долго настраивать, чтобы заработало. Лучше windows — все работает сразу». Ерунда, с которой я не соглашусь. И то, и то надо настроить.
Мое знакомство с Linux я хотел начать с Ubuntu. Должен сказать, что все это происходило в январе 2015… Вот так я хорошо отметил Новый Год, что так кардинально захотелось что-то изменить: ) Ubuntu поставилась. Но она мне показалась жуткой по скорости. Конечно же я ставил декстопную версию. И более того даже не подозревал, что рабочее окружение можно менять. По внешнему виду она мне тоже не понравилась. Красные оттенки уж как то сильно давили… Быстро нашел выход из положения — Mint. По скриншотам очень красивая. Я не программист и не администратор… Я художник — конечно я хочу красиво!
Да вот беда. Mint не захотела ставиться. Два вечера я пытался, но все было тщетно.
И тут меня посетила мысль. А зачем ставить Linux для домохозяек? Можно же поставить «взрослый» дистрибутив! Начал копать. Быстро все сошлось к Fedora или Debian. Продолжил копать и это вывело меня к Debian. Потом начал выбирать рабочее окружение и остановился на KDE.
Установка (я устанавливал с 240 мб-ной инсталяшки для сети) прошла без сучка и задоринки. Она ничуть не сложнее установки Windows! По времени столько же. Никаких лишних вопросов мне не задавали — все по делу.
Потом было несколько проблем, нет, скорее вопросов, на которые нужно было найти ответы.
Не заработал из коробки WIFI. Выяснилось, что просто драйвера для него не свободные. Установил — все стало классно.
Пришлось научиться монтировать NTFS диски. Ничего сложного как оказалось.
Пришлось разобраться как включить TRIM, ведь Debian я установил на SSD. Тоже ничего сложного.
Вообще ответы почти на все вопросы уже расписаны вдоль и поперек. А если что-то не находится, можно спросить. Как оказалось Linux сообщество невероятно дружелюбное! Это увлеченные люди не преследующие насыщение материальными ценностями и они с радостью делятся знаниями.
По итогу на сегодняшний день.
Компьютер, а впоследствии и ноутбук — работают на debian. Я сам хозяин на них. Ничего не делается и не устанавливается без моего ведома. Если что то хочет выполниться (обновления), то меня сразу же спрашивают об этом. Настроив рабочее окружение KDE я получил невероятно красивую систему! И теперь я нахожусь в стороне от тех, кто ожидает Windows 10, которая якобы посимпотичнее чем предыдущие версии. У меня уже все красиво и настроить можно любой элемент как я захочу.
Я не боюсь вирусов и троянов. У меня нет никакого антивируса.
Все работает невероятно быстро. Ресурсы компьютера не съедаются чем то, что ппц как необходимо Windows, но вам не нужно знать зачем. Все работает крайне прозрачно.
Я настроил DLNA сервера и на компьютере и ноуте. Теперь телевизор получает с них BD ripки и я не задумываюсь, на что записать фильм в 30-40 GB.
Перечислять можно бесконечно плюсы. Главное — то что вы уже настроили — работает. Настроили и забыли. Никаких сюрпризов как в Windows.
На ноутбуке при запущенном DLNA с которого смотрится фильм, работают 2 графических приложения для вектора и растра и все летает, при том что файлы в них открыты далеко не легкие и простые.
P.S.: первый раз где бы то не было поделился своими впечатлениями о Linux. Прошу прощения за большой текст, но я искренне надеюсь что хоть кому то это поможет, если еще есть сомнения — надо ставить линь или нет.
У меня было примерно так же, только Ubuntu вполне себе приглянулась, как и Mint. Но больше всех, в итоге, приглянулась OS X =)
Внутри всё UNIX-like, снаружи приятный десктоп и софт. Все плюсы GNU/Linux и Windows, но никаких минусов. Кроме цены, конечно.
P.S. Для ответа на комментарий жми ссылку «ответить», а не «написать комментарий» внизу страницы.
Больше так не буду!
У меня всегда было примерно так:
0. Установить винду
1. Установить нормальный браузер
2. Антивирус
3. Офис
3. Свежие драйвера
4.…
20. Можно работать
В популярных дистрибутивах GNU/Linux работать можно сразу после установки: там уже есть и Firefox, и LibreOffice, и GIMP и еще куча приложений. Антивирус вообще не нужен, да.
В репозиториях Debian и Ubuntu сотни тысяч бесплатных приложений (если не миллионы), которые устанавливаются и удаляются быстрее и проще. И мусора в системном реестре они не оставляют, по причине отсутствия этого реестра как такового.
И тормозов от этого нет, вообще. Я уж молчу про систему зависимостей этих пакетов друг от друга, Windows о таком и мечтать не может.
Честно скажу, кроме специфичного софта, включая игрушки, Windows предложить особо нечего. А с приходом Steam на GNU/Linux и это преимущество потихоньку будет исчезать.
И да. В Windows всегда есть пункт с драйверами. У Linux они уже в ядре кроме совсем экзотики и несвободных.
Люди почему то верят в какие то мифы. И не понимают, что многим мифам с десяток лет и давно уже все изменилось. Жаль…
Переход на Linux CG художника считается одним из самых сложных. Я вам на своем личном примере рассказал, что это возможно и чувствую себя очень даже хорошо.
Конечно вы можете нагуглить, что Wacom планшеты не поддерживает Linux и тыкнуть меня в это, не обращая внимания, что это года с 2010 если не раньше пофиксили. Потому и говорю — Linux мешают только старые мифы. В остальном эта ОС отличная.
Я не скажу что линь нужен для «древней машины». Я уже сказал — мне не нравится, когда ОС расходует ресурсы моего компьютера не пойми куда. На работе — фик с ним. А дома наращивание ресурсов это мои финансы и тратить их просто так глупо.