Однажды при обновлении Ubuntu отрубили электричество. Выяснилось, что продолжить обновление стандартным apt-get upgrade нельзя — испорчены пакеты и т.д. Осталась одна надежда — утилита dpkg.
1
sudo dpkg--configure-a
Так донастроились все «сбитые пакеты» и обновление можно было продолжить запустив apt-get upgrade.
Данное статья затрагивает все Ubuntu-подобные системы, такие как Kubuntu, Debian, Mint и другие.
Установка LAMP, IDE Netbeans и Xdebug
Для начала установим tasksel — пакет, который позволяет устанавливать готовые наборы пакетов для решения определенных задач. Некоторые руководства говорят о том, что он есть в системе. В моей Kubuntu этого пакета не было. И так, ставим:
1
sudo apt-get install tasksel
затем устанавливаем набор LAMP с помощью tasksel:
1
sudo tasksel install lamp-server
Таким образом в псевдографическом режиме установятся Apache 2, PHP5, MySQL, Ruby и некоторые другие пакеты.
Удалять LAMP, если понадобится, нужно вручную: tasksel служит только для установки.*
В процессе установки MySQL запросит (несколько раз) пароль root для сервера MySQL, который лучше задать сразу, или оставить пустым (что приемлемо для локального сервера разработки):
Для сборки следующих пакетов необходимо установить утилиту make (если ее еще нет), что бы собрались нужные нам в дальнейшем пакеты (в нашем случае Xdebug). У меня ее не было, так что ставлю:
Затем устанавливаем веб-интерфейс для MySQL — phpMyAdmin, для тех кто не привык к MySQL в консоли:
1
sudo apt-get install phpmyadmin
При установке пакет спросит тип сервера (выбираем Apache 2):
Спросит он и про автонастройку, на что стоит согласиться:
Далее задаем пароль административной учетки (то что задавалось при установке MySQL root) .
и пароль регистрации phpMyAdmin в БД.
Теперь перейдем к установке IDE. Для установки любой сборки Netbeans требуется Java SE JDK. Для данной Java 6 SE JDK. Я устанавливал на другой машине и на более новую версию — 7.
Ставим sun-java6-jdk,
1
sudo apt-get install sun-java6-jdk
но у меня в стандартных репозиториях его не было, зато был аналог — openjdk-6-jdk
Затем качаем подходящий бинарник Netbeans (7.1) отсюда.
Запускаем его с правами на выполнение, можно прямо из папки загрузки:*
1
sudo sh netbeans-7.1-ml-php-linux.sh
*В зависимости от системы расположение папки загрузки может отличаться, поэтому я не указываю ее. Так же, если вы ставите другую версию Netbeans обращайте внимание на имя файла.
В процессе установки можно выбрать папку установки и папку с установленной Java. Я ничего менять не стал.
Далее установка не составит труда. На виртуальной машине Kubuntu ставилась минуты 2.
Настройка хоста Apache, php.ini и Netbeans для работы с Xdebug.
Первым делом проверим работоспособность нашей установки.
1. Проверяем работу сервера на localhost. В браузере пишем http://127.0.0.1 или http://localhost. Должна появиться надпись:
Далее настроим директорию (хост) для работы.
Все ниже указанные настройки применимы только к локальной машине, и не в коем случае не должны рабочем web сервере, ввиду отсутствия настроек безопасности!!! Эта тема отдельной статьи.
Вместо стандартного (default) хоста зададим свой (newsite), но оставим копию стандартного. Копируем дефолтный в новый:
Дефолтный конфиг оставим в покое,- удобным способом правим наш новый:
в стандартном консольном редакторе:
1
sudo nano/etc/apache2/sites-available/newsite
В Gnome стандартным редактором:
1
gksudo gedit/etc/apache2/sites-available/newsite
В KDE стандартным редактором:
1
kdesudo kate/etc/apache2/sites-available/newsite
В открытом файле меняем директивы:
DocumentRoot — корневая директория. Там хранятся файлы нашего сайта. По умолчанию /var/www. Оттуда мы получили index.html набрав http://localhost в строке браузера. Эта директория мне не очень по душе, меняем ее на /home/public_html. Вы можете указать другой путь.
Directory — меняем с /var/www на /home/public_html или на другую, (такую же как в DocumentRoot.
Сохраняем файл и не забываем создать папку указанную в DocumentRoot или прописать символическую сыылку!
1
sudo mkdir/home/public_html
Теперь надо активировать наш новый хост. Делается это стандартными убунтовскими утилитами.
Отключаем дефолтный сайт:
1
sudo a2dissite default
Подключаем новый:
1
sudo a2ensite newsite
И перезагружаем Apache
1
sudo service apache2 reload
или классическим способом:
1
sudo/etc/init.d/apache2 restart
Далее в директории хоста (/home/public_html/) создаем файл phpinfo.php со следующим содержимым:
1
<?php phpinfo();?>
Далее пытаемся открыть его из браузера: http://localhost/phpinfo.php
Если он загрузился, значит сервер Apcahe и php работает корректно.
На этом месте я перезагрузился, т.к. система перестал вести себя корректно (файрфокс падал) и решил обновить таки систему (была нулевая).
Настройки php лежат в папке /etc/php5/apache2/php.ini. Это настройки для web части php (то что выдает Apache). Есть еще один php.ini — /etc/php5/cli/php.ini — настройки php для консоли. Его трогать не надо. Однако стоит учесть, что при отладке php из консоли (командами типа php -i и др.) сведения будут браться именно оттуда. Для отладки web части лучше использовать phpinfo() как мы сделали в файле phpinfo.php. Теперь настроим php:
1
kdesudo kate/etc/php5/apache2/php.ini
Тут директивы должны быть такие (из тех что мне пришлось поменять):
display_errors On
html_errors On (если не включить, Xdebug не сможет форматировать вывод)
У многих пользовтелей возникает проблема с XDebug. Cтоит посмотреть в php.ini как он декларирован, как ZendExtention или просто Extention. Так же нужно проверить путь до папки с расширениями. Остальное смотрим в логах Apache.
В очередной раз меня выручили встроенные средства Windows.
Симптомы у машины были таковы: после обновления системы перезагружался explorer, Internet Explorer просто не запускался (процесс появлялся и исчезал). Связано это было по всей видимости с проблемой ieframe.dll.
Вторая машина просто не загружалась после окна приветствия.