Участник:Andrey Kruglov/Развёртывание рабочего окружения OpenCorpora на базе CentOs

Материал из OpenCorpora
< Участник:Andrey Kruglov
Версия от 17:34, 7 декабря 2014; Andrey Kruglov (обсуждение | вклад) (Первая редакция)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Данная инструкция описывает подготовку рабочего окружения OpenCorpora на базе CentOs.

I Подготовительные операции. Установка ОС

1. Создать виртуалку. Поставить ОС

Достаточно 512 Mb RAM, 20 Gb HDD.

Ставил с образа CentOS-6.6-i386-minimal.iso

2. Поднять сетку

cd /etc/sysconfig/network-script

vi ifcfg-eth0 

IPADDR=192.168.1.51

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=192.168.1.1

3. yum update

4. yum install mc

5. Отрубить SELinux

/etc/selinux/config

6. Отключить файерволл

service iptables stop

chkconfig iptables off

7. Закинуть свой ключ в /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

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 в /var/www/html/index1.php и проверить что открывается http://192.168.1.51/index1.php

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)

cd /var/www/html

curl -sS https://getcomposer.org/installer | php

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. Создаём конфиг

cp /var/www/html/config.default.ini /var/www/html/config.ini

правим настройки подключения к базе (логин/пароль)

4. Правим ещё в php.ini

date.timezone ="Europe/Moscow"