Настройка ReRemix

Для PHP разработки в компании на прежнем месте работы рекомендовали использовать дистрибутив Linux ReRemix.
Этот дистрибутив разрабатывается русскими энтузиастами на основе Scientific Linux (который является пересборкой Red Hat Enterprise Linux), который стоит на серверах компании.
Тем самым появляется возможность иметь на рабочей станции ровно такое же окружение, как и на боевых серверах.

Pre-Installation

Что нужно знать

суперпользователь - пользователь операционной системы со всеми возможными правами, обычно root.
Чтобы выполнять команды с правами суперпользователя, перед командой нужно добавить sudo. Например:

sudo yum install htop

Чтобы войти в режим суперпользователя, достаточно выполнить

sudo su -

Раз уж Вы читаете данную документацию по установке - все шаги обязательны. Если не понимаете зачем, значит узнаете со временем.

Installation

Установочный диск можно попросить у админов.
Или..нарезать самому, скачав по ссылке http://mirror.yandex.ru/fedora/russianfedora/releases/RERemix/6.2/RERemix/x86_64/iso/RERemixDesktop-6.2-x86_64-netinstall.iso
Ставить только x86_64 версию, пора забыть про i386 как про страшный сон.
Было замечено, что в процессе установки у всех возникает вопрос -- какое значение выставлять для kdump. Оставьте его в 128MB.

Установка рядом с уже установленным Windows

Попросить у админов gparted (или воспользоваться встроенным средством Windows7).
Или..самому нарезать, скачав по ссылке http://sourceforge.net/projects/gparted/files/gparted-live-stable/0.14.0-1/gparted-live-0.14.0-1.iso/download
Запуститься с LiveCD gparted и просто уменьшить размер раздела с Windows системой. (или удалить не основной логический диск, например)

Post-Installation

Выполнить из под суперпользователя:

yum install epel-release htop mc wget bash-completion -y

SSH

Если у вас еще нет ssh-ключей

Для доступа на сервера и в систему контроля версий мы используем публичные ключи. Чтобы сгенерировать новый ключ нужно воспользоваться командой ssh-keygen. После этого содержимое файла ~/.ssh/id_rsa.pub нужно отправить письмом админу.

Если у вас уже есть ssh-ключи

Нужно скопировать ваши ssh ключи (обычно это id_rsa и id_rsa.pub) в папку на сервер ~/.ssh/ и выставить им права 0600 (например, chmod ~/.ssh/id_rsa* 0600)

PHP

Для установки нужной версии интерпертатора PHP, нужно подключить специальные репозитории. Делается это следующими командами (от суперпользователя):

yum install http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/ius-release-1.0-10.ius.el6.noarch.rpm
yum install http://vortex-rpm.org/el6/noarch/vortex-release-6-1.vortex.el6.noarch.rpm

После этого необходимо обновить закэшированные листинги пакетов в репозиториях (так же от суперпользователя):

yum makecache

Теперь можно установить сам PHP и необходимые библиотеки (от суперпользователя):

yum install php54 php54-process php54-pecl-gearman php54-devel php54-intl php54-mcrypt php54-pecl-memcached php54-mysql php54-gd php54-pecl-redis php54-pecl-ssh2 php54-pgsql php54-xml php54-pecl-xdebug php54-common php54-soap php54-pear php54-mbstring php54-pecl-apc php54-cli php54-tidy php54-pecl-mongo php54-pdo -y

Java

Для работы некоторого ПО необходима Java, и лучше воспользоваться версией от Oracle, а не дистрибутивным OpenJDK.
Для этого нужно руками создать конфигурационный файл для репозитория (от суперпользователя)
/etc/yum.repos.d/wiw-java.repo:

[wiw-java]
name=wiw-java x86_64
baseurl=http://puppet.wiw.ru/wiw-java/
enabled=1
gpgcheck=0

Так же необходимо положить файл настроек для bash (от суперпользователя)
/etc/profile.d/java.sh:

export JAVA_HOME="/usr/java/jdk1.7.0_05" 

После этого можно произвести установку (от суперпользователя):

yum install jdk -y

ElasticSearch

Просто выполните последовательно следующие команды:

cd /usr/src
wget https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.19.11.tar.gz
cd /opt
tar xf /usr/src/elasticsearch-0.19.11.tar.gz
mv elasticsearch-0.19.11 elasticsearch
adduser elasticsearch
curl -k -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz
mv *servicewrapper*/service elasticsearch/bin
rm -rf *servicewrapper*
ln -s /opt/elasticsearch/bin/service/elasticsearch /etc/init.d/elasticsearch
chkconfig --add elasticsearch
/opt/elasticsearch/bin/plugin -install imotov/elasticsearch-analysis-morphology/1.0.0-SNAPSHOT

далее открыть файл вимом

vim /etc/init.d/elasticsearch

Найти в этом файле закомментированное значение RUN_AS_USER.
Нажать кнопку Insert или I - это вход в режим добавления текста.
Раскомментировать его и дополнить, чтобы выглядело вот так:

RUN_AS_USER=elasticsearch

 

Ниже аналогично раскомментировать и дополнить значение ULIMIT_N:

ULIMIT_N=32000

Выйти из режима редактирования, нажав на кнопку Escape (Esc)
Для того, чтобы записать изменения в файл и выйти нужно ввести на клавиатуре команду
:wq - двоеточие, w в нижнем регистре, q в нижнем регистре
Осталось выполнить одну команду:

chown -R elasticsearch:elasticsearch elasticsearch

MongoDB

Нужно руками создать конфигурационный файл для репозитория (от суперпользователя):
/etc/yum.repos.d/mongo-10gen.repo:

[mongodb-10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0

После этого можно произвести установку (от суперпользователя):

yum install mongo-10gen и mongo-10gen-server -y

Git

В нашей компании используется система контроля версий Git. Для ее установки нужно выполнить (от суперпользователя):

yum install git -y

В вашу домашнюю директорию нужно будет положить файл, в котором должно быть вписано ваше имя и адрес электронной почты:
~/.gitconfig:

[user]
    name = Your Name
    email = user@yapro.ru

Так же, если вы хотите цвета в логе или диффе консольного гита, то можно дописать следующее:

[color]
    diff = auto
    status = auto
    branch = auto
    ui = auto

Tips

Пакет bash-completion содержит в себе автодополнения для огромного числа приложений (включая git), так что юзайте tab-tab-tab-tab-... в терминале .

С чем пришлось бороться при настройке RERemix

1. Дамп таблиц заливается такой командой (перед этим не забудьте зайти в директорию с файлами дампов):

for i in `ls −1 *.sql` ; do echo processing $i ; mysql sv < $i ; done


кстати при заливке таблицы db_sv_test_relations_copy получил такую ошибку:

processing db_sv_test_relations_copy.sql
ERROR 1071 (42000) at line 25: Specified key was too long; max key length is 1000 bytes


а проблема возникает из-за того, что mysqldump делает недостаточно правильные CREATE TABLE, забывая про кодировки в которых находятся поля и сама таблица. Например таблица в кодировке utf8_general_ci, а CREATE TABLE будет просто utf8.

 

2. При этом следующие таблицы у Вас не получится залить, т.к они слишком большие:

db_sv_tw_themes_words.sql
db_sv_sv3_tweets.sql
db_sv_th_authors.sql
db_sv_th_themes_messages.sql
db_sv_th_messages.sql


как я понимаю, нужна переконфигурация mysqldump

3. Заливал дамп базы данных 4 дня, поговорил с опытными людьми, оказывается нам весь дамп не нужен, достаточно было импортировать маленькие таблицы. А структуру больших таблиц можно достать вручную с дев-сервера, при этом наполнить их нужно ботами, таким образом получаем актуальные данные, с которыми уже можно работать. Благодаря незаполненным таблицам получим прирост работы при тестировании своих скриптов, а тестировать на больших объемах будет начальство, в случае чего, рефакторить код будет тоже оно.

4. Обращаю Ваше внимание, что если кто-то решит все таки накатывать весь дамп, то заметьте, за 4 дня он все таки не накатился. Кроме того, ноут в конечном итоге окончательно подвис, пришлось его жестко выключить, что повлекло за собой сбой в файловой системе, после чего приходится восстанавливаться (и это тоже очень не быстро).

5. Как включить mod_rewrite в Apache on Fedora
Edit the configuration file /etc/httpd/conf/httpd.conf, change 'AllowOverride None' to 'AllowOverride All'

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
AllowOverride All

 

Restart apache
Type the following command as root.

service httpd restart

 

6. Установка phpunit 3.7 - http://www.phpunit.de/manual/3.7/en/installation.html

$ pear config-set auto_discover 1
$ sudo pear install pear.phpunit.de/PHPUnit
$ sudo pear install phpunit/PHPUnit_SkeletonGenerator

 

7. Использование yum
поиск программы wine# sudo yum search wine
установка программы wine# sudo yum install wine.x86_64

8. Чтобы апач запускался автоматом при загрузке ОС:

$ sudo chkconfig httpd on

 

9. Запуск апача самостоятельно:

$ sudo /etc/init.d/httpd start

 

10. Устанавливаем memcached
тут нас ожидает прикол, т.к. memcached не установился, поэтому:

    Download the latest ius-release rpm from

    http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/

    Install ius-release rpm:

    # rpm -Uvh ius-release*rpm

    Install php54-pecl-memcached rpm package:

    # yum --enablerepo=ius-dev install php54-pecl-memcached


взято с http://pkgs.org/centos-5-rhel-5/ius-development-i386/php54-pecl-memcached-2.1.0-2.ius.el5.i386.rpm.html
после этого делаем следующее:

/etc/init.d/httpd stop


дальше команда ( выполняется долго ~1 минуты ):

setsebool -P httpd_can_network_memcache true


и запускаем апач:

/etc/init.d/httpd start

 

а так же не забываем, что его нужно запустить:

/etc/init.d/memcached start


подробнее: http://docs.fedoraproject.org/ru-RU/Fedora/13/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Top_Three_Causes_of_Problems-How_are_Confined_Services_Running.html

 

11. Возникли проблемы с подключением Mongo, из под рута выполните:

# setsebool httpd_can_network_connect 1
# setsebool httpd_can_network_connect_db 1


и затем:

/etc/init.d/mongod restart

 

12. Что делать, если не работает бот:php index.php --app=HubSync --dev

а) подключаемся к монго:

# mongo


выбираем базу

>use posts


добавляем записи, которые создадут таблицу во время добавления (так устроена монга):

> db.hub_type.insert({ "_id" : ObjectId("504229b1a61feecc47eaf056"), "hub_type__id" : 7, "name" : "Отзывы", "vis" : false })
> db.hub_type.insert({ "_id" : ObjectId("501bbea11c8690955127f48e"), "hub_type__id" : 6, "name" : "Форумы", "vis" : false })
> db.hub_type.insert({ "_id" : ObjectId("4ff78a62289cedce2bdd2ade"), "hub_type__id" : 5, "name" : "Видеохостинг", "vis" : false })
> db.hub_type.insert({ "_id" : ObjectId("4ff78a57289cedce2bdd2add"), "hub_type__id" : 4, "name" : "Новости", "vis" : false })
> db.hub_type.insert({ "_id" : ObjectId("4ff78a4b289cedce2bdd2adc"), "hub_type__id" : 3, "name" : "Соц.сети", "vis" : false })
> db.hub_type.insert({ "_id" : ObjectId("4ff78a3e289cedce2bdd2adb"), "hub_type__id" : 2, "name" : "Блоги", "vis" : false })
> db.hub_type.insert({ "_id" : ObjectId("4ff78a2f289cedce2bdd2ada"), "hub_type__id" : 1, "name" : "Микроблоги", "vis" : false })


проверить добавленное можно так:

> db.hub_type.find().forEach(printjson);


готово, выходим из монги:

> exit

 

Где и что лежит:

/var/lib/mysql/ - базы
/var/www/html/ - лежат файлы проекта
/app/config/parameters.ini - подключение к б.д.
/etc/httpd/httpd.config - настройки апача
/etc/php.ini - настройки пхп
/var/log/httpd/ - Логи PHP
/usr/lib64/httpd/modules/ - модули, которые подключаем в /etc/httpd/httpd.config

Скачать уже настроенную виртуальную машину можно по ссылке
https://www.dropbox.com/sh/zz2zk5nv5mb3rl7/jxa_l2jnWf/Scientific%20Linux%206.3.zip

Login: root
Password: 1234567890

mongod и elasticsearch не в автозапуске, соответственно запускаются командами

@sudo /etc/init.d/mongod start
@sudo /etc/init.d/elasticsearch start

Оцени публикацию:
  • 0,0
Оценили человек: 0
Теги : Linux, ReRemix, Red Hat

Похожие статьи:


Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2017 YaPro.Ru

Главная » Веб-мастеру » Unix »