Участник:Andrey Kruglov/Развёртывание рабочего окружения OpenCorpora на базе CentOs: различия между версиями
м (формат в →III Настраиваем проект) |
|||
Строка 120: | Строка 120: | ||
== III Настраиваем проект == | == III Настраиваем проект == | ||
1. качаем исходники | 1. качаем исходники | ||
<pre> | |||
yum install subversion | yum install subversion | ||
cd /var/www/html | cd /var/www/html | ||
svn co https://github.com/OpenCorpora/opencorpora/trunk . | svn co https://github.com/OpenCorpora/opencorpora/trunk . | ||
</pre> | |||
2. Подымаем пустую базу | 2. Подымаем пустую базу из дистрибутива | ||
<pre> | |||
mysql -u root -p | mysql -u root -p | ||
CREATE DATABASE corpora DEFAULT CHARSET utf8; | CREATE DATABASE corpora DEFAULT CHARSET utf8; | ||
GRANT DELETE, INSERT, LOCK TABLES, SELECT, UPDATE ON corpora.* TO username IDENTIFIED BY 'password'; | GRANT DELETE, INSERT, LOCK TABLES, SELECT, UPDATE ON corpora.* TO username IDENTIFIED BY 'password'; | ||
mysql -uroot -Dcorpora -p < /var/www/html/install/install.sql | mysql -uroot -Dcorpora -p < /var/www/html/install/install.sql | ||
</pre> | |||
3. Подкачиваем Smarty, symphony и что-то там ещё (через composer) | 3. Подкачиваем Smarty, symphony и что-то там ещё (через composer) | ||
Подключаем composer: | |||
<pre> | |||
cd /var/www/html | cd /var/www/html | ||
curl -sS https://getcomposer.org/installer | php | curl -sS https://getcomposer.org/installer | php | ||
</pre> | |||
И инсталлируем необходимые модули для opencorpora | |||
<pre> | |||
php composer.phar install | php composer.phar install | ||
</pre> | |||
Подключается следующее: | |||
<pre> | <pre> | ||
Installing dependencies (including require-dev) from lock file | Installing dependencies (including require-dev) from lock file | ||
- Installing symfony/yaml (v2.0.24) | - Installing symfony/yaml (v2.0.24) | ||
Downloading: 100% | Downloading: 100% | ||
- Installing symfony/console (v2.0.24) | - Installing symfony/console (v2.0.24) | ||
Downloading: 100% | Downloading: 100% | ||
- Installing symfony/config (v2.0.24) | - Installing symfony/config (v2.0.24) | ||
Downloading: 100% | Downloading: 100% | ||
- Installing symfony/class-loader (v2.0.24) | - Installing symfony/class-loader (v2.0.24) | ||
Downloading: 100% | Downloading: 100% | ||
- Installing robmorgan/phinx (v0.3.7) | - Installing robmorgan/phinx (v0.3.7) | ||
Downloading: 100% | Downloading: 100% | ||
- Installing smarty/smarty (v3.1.19) | - Installing smarty/smarty (v3.1.19) | ||
Checking out /tags/v3.1.19/@4867 | Checking out /tags/v3.1.19/@4867 | ||
- Installing swiftmailer/swiftmailer (v5.2.1) | - Installing swiftmailer/swiftmailer (v5.2.1) | ||
Downloading: 100% | Downloading: 100% | ||
Generating autoload files | Generating autoload files | ||
</pre> | </pre> | ||
Проверить, что создалась папка /var/www/html/vendor/ | |||
Добавляем ссылку на Smarty (файл Smarty.class.php находится в /var/www/html/vendor/smarty/smarty/distribution/libs) в файл /etc/php.ini | Добавляем ссылку на Smarty (файл Smarty.class.php находится в /var/www/html/vendor/smarty/smarty/distribution/libs) в файл /etc/php.ini | ||
<pre> | |||
include_path = ".:/php/includes:/var/www/html/vendor/smarty/smarty/distribution/libs" | include_path = ".:/php/includes:/var/www/html/vendor/smarty/smarty/distribution/libs" | ||
</pre> | |||
Создаем каталоги под Smarty: | Создаем каталоги под Smarty (такие же, как в нашем будущем конфиге): | ||
<pre> | <pre> | ||
Строка 188: | Строка 187: | ||
</pre> | </pre> | ||
3. Создаём конфиг | |||
Копируем настройки из конфиг-файла по умолчанию (там уже все настройки сделаны под CentOs, почти ничего не придётся править): | |||
<pre> | |||
cp /var/www/html/config.default.ini /var/www/html/config.ini | cp /var/www/html/config.default.ini /var/www/html/config.ini | ||
</pre> | |||
правим настройки подключения к базе (логин/пароль) | Из необходимых настроек - правим настройки подключения к mysql-базе (логин/пароль), введите свои. | ||
4. | 4. Дополнительные правки в php.ini | ||
Выставляем timezone для корректной работы функций даты/времени: | |||
<pre> | <pre> | ||
date.timezone ="Europe/Moscow" | date.timezone ="Europe/Moscow" | ||
</pre> | </pre> |
Версия от 18:17, 7 декабря 2014
Данная инструкция описывает подготовку рабочего окружения OpenCorpora на базе CentOs.
I Подготовительные операции. Установка ОС
1. Создать виртуалку. Поставить ОС
Достаточно 512 Mb RAM, 20 Gb HDD.
Ставил с образа CentOS-6.6-i386-minimal.iso
2. Поднять сетку Отредактировать файл /etc/sysconfig/network-script/ifcfg-eth0:
cd /etc/sysconfig/network-script vi ifcfg-eth0
В моём конкретном случае (виртуалка подключена непосредственно в сеть, режим bridge в VmWare) это было:
IPADDR=192.168.1.51 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.1
Рестартовать службу:
service network restart
Попробовать пингануть ya.ru, проверить что узел доступен.
3. Обновиться
yum update
4. Доставить пакеты по вкусу
yum install mc
5. Отрубить SELinux
Если по-простому - то прописать в /etc/selinux/config следующее:
SELINUX=disabled
6. Отключить файерволл
Дать в консоли команды:
service iptables stop chkconfig iptables off
7. Настройка подключения по SSH
Закинуть свой ключ в /root/.ssh/authorized_keys, после reboot'а попробовать подключиться по SSH
II Ставим вебсервер (apache+php+mysql)
1. Ставим апач
yum install httpd chkconfig httpd on
В /etc/httpd/conf/httpd.conf добавить
ServerName localhost
Стартуем службу:
service httpd start
Закинуть файл /var/www/html/index.html и проверить, что открывается http://192.168.1.51
Версия апача - 2.2:
httpd -v Server version: Apache/2.2.15 (Unix) Server built: Oct 16 2014 14:45:47
2. Ставим php с нужными нам модулями:
yum install php php-pear php-mbstring service httpd restart
Закинуть простенький helloworld.php в /var/www/html/helloworld.php и проверить что открывается http://192.168.1.51/helloworld.php
<?php echo 'php works!'; ?>
Версия PHP не особо критична (нет специфических требований), в основных репозитория сейчас 5.3 идёт по умолчанию:
php -v PHP 5.3.3 (cli) (built: Oct 30 2014 19:56:14) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
3. Установка mysql
yum install mysql-server php-mysql chkconfig mysqld on service mysqld start mysql_secure_installation
Создаём новое подключение в sqlyog и проверяем коннект к базе.
III Настраиваем проект
1. качаем исходники
yum install subversion cd /var/www/html svn co https://github.com/OpenCorpora/opencorpora/trunk .
2. Подымаем пустую базу из дистрибутива
mysql -u root -p CREATE DATABASE corpora DEFAULT CHARSET utf8; GRANT DELETE, INSERT, LOCK TABLES, SELECT, UPDATE ON corpora.* TO username IDENTIFIED BY 'password'; mysql -uroot -Dcorpora -p < /var/www/html/install/install.sql
3. Подкачиваем Smarty, symphony и что-то там ещё (через composer)
Подключаем composer:
cd /var/www/html curl -sS https://getcomposer.org/installer | php
И инсталлируем необходимые модули для opencorpora
php composer.phar install
Подключается следующее:
Installing dependencies (including require-dev) from lock file - Installing symfony/yaml (v2.0.24) Downloading: 100% - Installing symfony/console (v2.0.24) Downloading: 100% - Installing symfony/config (v2.0.24) Downloading: 100% - Installing symfony/class-loader (v2.0.24) Downloading: 100% - Installing robmorgan/phinx (v0.3.7) Downloading: 100% - Installing smarty/smarty (v3.1.19) Checking out /tags/v3.1.19/@4867 - Installing swiftmailer/swiftmailer (v5.2.1) Downloading: 100% Generating autoload files
Проверить, что создалась папка /var/www/html/vendor/
Добавляем ссылку на Smarty (файл Smarty.class.php находится в /var/www/html/vendor/smarty/smarty/distribution/libs) в файл /etc/php.ini
include_path = ".:/php/includes:/var/www/html/vendor/smarty/smarty/distribution/libs"
Создаем каталоги под Smarty (такие же, как в нашем будущем конфиге):
mkdir /var/www/templates/ mkdir /var/www/smarty_dir/ mkdir /var/www/smarty_dir/templates_c/ mkdir /var/www/smarty_dir/configs/ mkdir /var/www/smarty_dir/cache/ chown -R apache /var/www/templates/ chown -R apache /var/www/smarty_dir/
3. Создаём конфиг
Копируем настройки из конфиг-файла по умолчанию (там уже все настройки сделаны под CentOs, почти ничего не придётся править):
cp /var/www/html/config.default.ini /var/www/html/config.ini
Из необходимых настроек - правим настройки подключения к mysql-базе (логин/пароль), введите свои.
4. Дополнительные правки в php.ini Выставляем timezone для корректной работы функций даты/времени:
date.timezone ="Europe/Moscow"