Установка LAMP в Ubuntu
LAMP в Ubuntu устанавливаем по любой из инструкций, имеющихся в сети. Например Установка и настройка веб-сервера LAMP для разработки на PHP
Для начала даем команду:
После изменений в конфигурации нужно делать рестарт апача
sudo service apache2 restart
Или
Do you want to restart Apache, or do you want to gracefully reload its configuration?
Everyone was answering the first question; you can do the second with
sudo apache2ctl graceful
or
sudo /etc/init.d/apache2 reload
Gracefully reloading is a bit faster, and there's no downtime. There's one caveat: if your apache config files contain an error, the server will silently exit without printing any error messages to the console.
to check which apache modules are enabled/installed?
/usr/sbin/httpd -M
To enable a module:
To disable a module:
sudo a2dismod module_name
Restart the server after enabling the module.
sudo /etc/init.d/apache2 restart
Установка php 5.2 вместе с имеющимся в текущей версии
Использовались советы из этих источников:
При компиляции php5.2 были ошибки, решение для некоторых (не обозначенных по ссылкам выше)
1) If you get lots of:
configure: error: Cannot find libXXX under /usr.
when you attempt to ./configure
PHP 5.2.x (and possibly earlier series as well), try appending:
--with-libdir=lib/x86_64-linux-gnu
This instructs the script to look for libraries under /usr/lib/x86_64-linux-gnu
instead of /usr/lib
. If this doesn’t work for you, try running:
$ sudo updatedb
$ locate 'libXXX' | grep 'so$'
Which should output the directory where the binary libXXX
(e.g., libmysqlclient
) is installed.
If you also see this at the linking stage:
ext/openssl/xp_ssl.c: undefined reference to `SSLv2_server_method'
You would want to patch your 5.2.17 source with debianpatchesdisableSSLv2foropenssl100.patch.
Еще одна инструкция с описанием ошибок и методов их исправления, на русском.
После установки php нужно активировать моды actions, mod_rewrite
sudo a2enmod cgi fastcgi actions
mod_rewrite
Сначала скомпилировал без --enable-mbstring, не заработал vtiger. Пришлось перекомпилировать при помощи команды
Далее make и make install
Настройка виртуальных серверов
Активируем дополнительные модули
Для работы некоторых сайтов нужно иметь дополнительные модули, которые и доустанавливаем. Например, для vtiger нужно следующее
- Apache 2.1+
- MySQL 5.1+ (default storage engine = InnoDB)
- PHP 5.2+, 5.3
- php-imap
- php-curl
- php-xml
- max_memory (min. 256MB)
- max_execution_time (min. 60 seconds)
- error_reporting (E_ALL & ~E_NOTICE & ~E_DEPRECATED)
1. php модули можно устанавливать через apt-get install, а можно и при помощи synaptic
После установки нужно активировать добавленные модули, для этого добавить в php.ini строчки
extension=imap.so
extension=zip.so
extension=timezonedb.so
Заодно правим php.ini в соответствии с требованиями выше.
После правки sudo /etc/init.d/apache2 restart
На этом мучения по установке сервера не закончились. Оказалось, что vtiger 5.4 не работает на php 5.5, а vtiger 6.1 - на php 5.2. Чтобы получить нормальную русификацию vtiger 5.4 перешел на salesplatform.ru 5.4. Все удачно обновилось на старом сервере под ubuntu 12.04 и php 5.3.
инструкция по компиляции php 5.3 здесь. Все установилось без проблем. Но как его прикрутить к серверу для вызова через fastcgi я так и не разобрался. Так что пока осталось 2 версии - 5.2.17 и 5.5.29. Практически все сайты которые у меня есть, на последней версии не работают. Пользуюсь подключением модуля php5.2 в файле конфигурации сайта.
Установка mysql
Как установить MySQL на Ubuntu 20.04
Решение проблем
Чтобы полностью переустановить нужно сначала все относящееся к mysql удалить с компьютера. Простые команды не помогают. В статье Can’t connect to local MySQL описаны шаги по очистке
Cleaning the Backyard
First of all, let’s start from scratch, you want to make sure you don’t have any remaining MySQL garbage in your system:
sudo apt-get remove --purge mysql*
After that, check if everything is clean, run the following code, and hope nothing shows up
dpkg -l | grep mysql
If that doesn’t do the trick, like in my case I still had some installed…
Image for post
Image for post
Try to purge them individually, like so (php is just an innocent amidst the sinful, so leave it be) :
sudo apt-get remove --purge mysql-apt-config
And now, clean everything else
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean
Установка vtiger v.6.1
Та еще песня. Миграцию с версии 5,4 на версию 6,0 мне произвести не удалось. Зависал процесс на последней стадии установки (с бегающим бегунком). Кстати, с официального сайта патч этот убрали.
Удалось только с танцами с бубном установить чистую версию v.6.1. После курения форума vtiger выяснилось, что требования к памяти и таймаутам, рекомендуемые в руководстве, совершенно недостаточные.
Пришлось установить следующие параметры в php.ini
max_execution_time = 3600
max_input_time = -1
memory_limit = 500M
После довольно длительного ожидания вывелась страница с конфигурацией vtiger. Бинго!
Что теперь делать с этой версией не знаю. Salesplatform 5.4 вроде работает нормально. Патча по миграции на их сайте пока нет.
Менеджеры версий php
Пока мучился с компиляцией различных версий php, наткнулся на вот такие интересные вещи, как менеджеры версий php
http://phpbrew.github.io/phpbrew/
https://github.com/CHH/phpenv
https://github.com/wilmoore/php-version
PhpBrew. Менеджер версий PHP. (+ установка и использование в Ubuntu 13.10)
Репозиторий версий php
add-apt-repository ppa:ondrej/php
У меня на линукс-минт не заработал - пишет что не поддерживается версия. Везде на этот ppa ссылаются, метод копируют все один и тот же.
Этот ppa не поддерживает многие версии ubuntu
У меня linux mint 18
HTTP Error 403: Forbidden
Не удаётся добавить PPA: «'Данный PPA не поддерживает bionic'».