Для PHP разработки в компании на прежнем месте работы рекомендовали использовать дистрибутив Linux ReRemix.
Этот дистрибутив разрабатывается русскими энтузиастами на основе Scientific Linux (который является пересборкой Red Hat Enterprise Linux), который стоит на серверах компании.
Тем самым появляется возможность иметь на рабочей станции ровно такое же окружение, как и на боевых серверах.
суперпользователь - пользователь операционной системы со всеми возможными правами, обычно root.
Чтобы выполнять команды с правами суперпользователя, перед командой нужно добавить sudo. Например:
sudo yum install htop
Чтобы войти в режим суперпользователя, достаточно выполнить
sudo su -
Раз уж Вы читаете данную документацию по установке - все шаги обязательны. Если не понимаете зачем, значит узнаете со временем.
Установочный диск можно попросить у админов.
Или..нарезать самому, скачав по ссылке 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.
Попросить у админов 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 системой. (или удалить не основной логический диск, например)
Выполнить из под суперпользователя:
yum install epel-release htop mc wget bash-completion -y
Для доступа на сервера и в систему контроля версий мы используем публичные ключи. Чтобы сгенерировать новый ключ нужно воспользоваться командой ssh-keygen. После этого содержимое файла ~/.ssh/id_rsa.pub нужно отправить письмом админу.
Нужно скопировать ваши ssh ключи (обычно это id_rsa и id_rsa.pub) в папку на сервер ~/.ssh/ и выставить им права 0600 (например, chmod ~/.ssh/id_rsa* 0600)
Для установки нужной версии интерпертатора 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, и лучше воспользоваться версией от 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
Просто выполните последовательно следующие команды:
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
Нужно руками создать конфигурационный файл для репозитория (от суперпользователя):/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. Для ее установки нужно выполнить (от суперпользователя):
yum install git -y
В вашу домашнюю директорию нужно будет положить файл, в котором должно быть вписано ваше имя и адрес электронной почты:~/.gitconfig:
[user]
name = Your Name
email = user@yapro.ru
Так же, если вы хотите цвета в логе или диффе консольного гита, то можно дописать следующее:
[color]
diff = auto
status = auto
branch = auto
ui = auto
Пакет bash-completion содержит в себе автодополнения для огромного числа приложений (включая git), так что юзайте tab-tab-tab-tab-... в терминале .
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
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