Warning: mCrypt extension needs to be loaded for OpenCart to work (PHP)

При попытке запустить движок ocStore (на apache2 с php 5.5 на Centos 7 x64) выдает ошибку, ругаясь на неустановленный модуль mCrypt:
Warning: mCrypt extension needs to be loaded for OpenCart to work (PHP) — Codedump.io

Вылечилось
yum install php-mcrypt*
И соответственно перезапустить апач:
systemctl restart httpd

PS. должны быть подключены репозитории:
wget http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
rpm -ivh epel-release-7-0.2.noarch.rpm

Так же проверить, прописана ли подгрузка модуля:
nano /etc/php.d/mcrypt.ini
extension=mcrypt.so

Debian 8: nginx + php-fpm

apt-get install nginx php5-fpm php5-mysqlnd php5-curl php5-gd

Проверяем http://serverip/
или curl http://serverip/

Включить автозапуск сервиса:
sudo update-rc.d nginx defaults

По умолчанию
главный конфиг:
/etc/nginx/nginx.conf
файлики сайта здесь:
/var/www/html
Конфиги пхпфпм:
/etc/php5/fpm/

Как добавлять виртуальные хосты…
Хост должен быть добавлен в каталоге /etc/nginx/sites-available отдельным файлом конфигурации
Далее на него должна быть сделана символическая ссылка в каталог /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/site1.ru /etc/nginx/sites-enabled/site1.ru

Далее доустанавливаем все что касается баз данных:
apt-get install mysql-server mysql-client libmysqlclient-dev postgresql

mysql -uroot -p
CREATE DATABASE db_name123 CHARACTER SET utf8;
CREATE USER ‘db_user123’@’localhost’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON db_name123.* TO ‘db_user123’@’localhost’;
exit

su postgres
psql
CREATE ROLE db_user123 LOGIN ENCRYPTED PASSWORD ‘password’ NOINHERIT VALID UNTIL ‘infinity’;
CREATE DATABASE db_name123 WITH ENCODING=’UTF8′ OWNER=db_user123 TEMPLATE template0;
\q
exit

Пример создания хоста:
nano /etc/nginx/sites-available/site1.ru

Минимальный конфиг:
server {
listen 80;
server_name example.org;
charset utf-8;
root /var/www/example.org;
index index.html index.htm index.php;
access_log /var/log/nginx/example.org_access.log;
error_log /var/log/nginx/example.org_error.log;
}
server {
listen 80;
server_name www.example.org;
rewrite ^(.*) http://example.org$1 permanent;
}


Более расширенный вариант:
server {
server_name site1.ru;
listen 80;
access_log /var/log/nginx/site1.ru-access.log;
error_log /var/log/nginx/site1.ru-error.log;
charset utf-8;
index index.php index.htm index.html;
root /home/www/site1.ru
location / {
try_files $uri $uri/ /index.php$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE «sendmail_path=/usr/sbin/sendmail -t -i -fmail@site1.ru»;
fastcgi_param PHP_ADMIN_VALUE «open_basedir=/var/www/site1.ru/:/var/save_path/:/var/tmp_dir/»;
}
}

ln -s /etc/nginx/sites-available/hostname.ru /etc/nginx/sites-enabled/hostname.ru

nano /etc/php5/fpm/pool.d/www.conf
; по умолчанию listen = /var/run/php5-fpm.sock. Добавим переменную $pool.
;listen = /var/run/php-$pool.sock
; Каталог для временных файлов
php_admin_value[upload_tmp_dir] = «/var/www/username/tmp»
; Каталог для файлов сессий
php_admin_value[session.save_path] = «/var/www/username/sessions»
; Ограничение памяти для выполнения скриптов. По умолчанию 32M
;php_admin_value[memory_limit] = 50M
; Закрываем дырку http://cnedelcu.blogspot.ru/2010/05/nginx-php-via-fastcgi-important.html
php_admin_value[cgi.fix_pathinfo] = 0

service php5-fpm reload
service nginx reload

Система заявок oSticket. Начальная настройка

На LAMP прописываем новый хост (в апач, в hosts) + если нужно прописываем нужную A-запись в файле DNS-зоны.

Скачиваем архивс самой системой + руссификацию

wget http://osticket.com/sites/default/files/download/osTicket-v1.10.zip
wget http://osticket.com/sites/default/files/download/lang/ru.phar
cd /home/sites/osticket
unzip osTicket-v1.10.zip
mv upload/*
mv ru.phar include/i18n

cp include/ost-sampleconfig.php include/ost-config.php
chmod 0666 include/ost-config.php
http://наш_домен… если все ок, ставим систему. По завершении выполняем:
chmod 0644 include/ost-config.php
rm -rf setup/

Далее настройка самой системы.

Создаем пользователей (кто будет саппортить, админить и тп)
Правим категории заявок, сроки, формат номеров заявок — лучше делать единый по всей системе + для начала ###, Последовательность номеров Заявок по умолчанию: General tickets,

Centos 7. postgresql, установка и начальная настройка

На данный момент актуальная версия 9.4
yum list | grep postgresql
говорит, что в репозиториях есть только 9.2… Подключаем репозиторий разрабов:
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
yum -y install postgresql94-server postgresql94
/usr/pgsql-9.4/bin/postgresql94-setup initdb
systemctl enable postgresql-9.4
/usr/pgsql-9.4/bin/postgresql94-setup initdb
systemctl start postgresql-9.4
nano /var/lib/pgsql/9.4/data/pg_hba.conf

Далее допишу (про пользователей, базы, доступы, разрешения и прочее…)
pgbouncer

Как установить WordPress на базу данных PostgreSQL

Пример установки чистого движка вордпресс с использованием базы данных PostgreSQL (а не mySQL).
Создается пользователь, база в postgreSQL.
Распаковываем архив с вордпрессом на хостинг. Далее скачиваем плагин PG4WP и распаковываем его в каталог /wp-content/plugins
Далее в папке плагина берем файл db.php и копируем в каталог /wp-content
После этого производим установку движка… Если ошибок не выдаст, значит все нормально.

Защита блога на WordPress от спама (о плагине Akismet)

WordPress Защита некоммерческого блога от спама — плагин Akismet

Помимо предлагаемых коммерческих вариантов использования популярного плагина по борьбе со спамом для блогов на WordPress — Akismet, существует и бесплатный способ получить API-ключ.

Плагин Akismet должен быть установлен.
Потом заходим в админку вашего блога, Настройки — Akismet — там будет предложено получить API-ключ либо ввести его, если он уже имеется. Если у вас еще нет ключа, нужно выполнить следующее:

01 — Зайти на akismet.com — нажать на синюю кнопку Get an Akismet API KEY — Sign up
02 — Авторизоваться. Если есть аккаунт на WordPress.com — пройти по ссылке «I already have a WordPress.com account!», если нет — зарегистрироваться
03 — После авторизации выбрать тарифный план Personal, сдвинуть ползунок влево до 0$
04 — Нажать синюю кнопку Continie — должен отобразиться API KEY и будет задан вопрос к какому блогу его применить. Далее он либо сам пропишется в плагине, либо можно его скопировать и вписать в плагин вручную.

Все. Из настроек плагина можно оставить их по умолчанию.
Полученный API ключ можно использовать на любых ваших блогах или сайтах на WordPress.

Скачать плагин для установки вручную можно здесь: https://wordpress.org/plugins/akismet/

PHP Warning: phpinfo(): It is not safe to rely on the system’s timezone settings

Например при php -r ‘phpinfo();’ | grep ‘xcache’ чтобы не возникало:
PHP Warning: phpinfo(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone ‘UTC’ for now, but please set date.timezone to select your timezone. in Command line code on line 1

Нужно в конфиге php прописать временную зону.
Раскомментировать параметр date.timezone и вписать нужную зону:
Читать далее «PHP Warning: phpinfo(): It is not safe to rely on the system’s timezone settings»

Сброс пароля администратора или пользователя WordPress

1 — Запрос восстановления пароля по ссылке «забыли пароль» на электронную почту… если не актуально, то следующий вариант.
2 — Замена пароля прямо в базе. Можно это сделать в phpmyadmin, выбрать базу, в шапке щелкнуть на SQL, «Выполнить SQL-запрос(ы) к базе данных %wordpress%», вписываем следующую строку, изменяя параметры на ваши (в таблице wp_users — wp_ — префикс ваших таблиц, ставим свой):
UPDATE `wp_users` SET `user_pass` = MD5(‘ новый_пароль ‘) WHERE `user_login` = ‘admin’
3 — Скриптом. Соответственно кладем в скрипт активной темы следующий кусок скрипта (где вместо звездочек вписываем новый пароль, а $user_id — это имя нашего пользователя, которому необходимо сбросить пароль):