четверг, 18 июня 2009 г.

Перенос Joomla на другой сервер (+ меняем кодировку с cp1251 на utf8)

Перенос Joomla будет состоять из 4-х этапов:

  1. настройка доменного имени
  2. копирование файлов сайта
  3. экспорт/импорт базы данных (еще рассмотрим конвертацию кодировки с cp1251 в utf8)
  4. настройка параметров на новом сервере.

Итак, 1) настройка доменного имени
При покупке доменного имени продавец должен выслать имя и пароль доступа настройки. Заходим в настройку доменного имени и создаем/редактируем записи:
подзона - @
A (тип записи)
приоритет - 0 (ноль) (если требуется)
адрес хоста - адрес сервера
Тоже самое нужно сделать с подзоной www
На сервере создаем VirtualHost
например, так:
ServerAdmin webmaster@localhost
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /srv/www/htdocs/mysite.com
ErrorLog /var/log/apache2/mysite.com-error_log
CustomLog /var/log/apache2/mysite.com_log combined


2) копирование файлов сайта
Тут вопросов не должно быть. Используем любой доступный способ копирования на сервер (ftp, ssh, webDav, флешка ...)
Не забываем про права доступа к файлам

3) экспорт/импорт базы данных (еще рассмотрим конвертацию кодировки с cp1251 в utf8)

а) экcпорт
mysqldump -u user -p mypassword databasename > backup.sql
скорее всего user - это root
К сожалению, у Денвера нету утилиты mysqldump. Поэтому можно скачать с сайта mysql файл (without installer, без установки) и копируем от туда mysqldump и вставляем в bin директорию, где установлен mysql

б) копируем файл на сервер

в)
(на сервере)
заходим в оболочку mysql (mysql --password для входа с паролем )

create user 'myusername'@'localhost' identified by 'mypassword' ;

create database mydbname character set utf8 collate utf8_general_ci;

grant all on mydbname.* to myusername@localhost ;

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

просмотреть кодировку созданной бд - show create database mydbname ;

г) конвертируем базу с cp1251 в utf8
iconv -f cp1251 -t utf8 backup.sql > backup-utf8.sql

в файлике backup-utf8.sql в строке
/*!40101 SET NAMES cp1251 */;
cp1251 меняем на utf8

д) импортируем базу
mysql -h localhost -u myusername -D mydbname --password=mypassword < backup-utf8.sql

для проверки импорта заходим в mysql под новым пользователем
mysql -u myusername -p mypassword mydbname

show tables ;


для установки кодировки в консоли mysql
SET character_set_client='utf8';

SET character_set_results='utf8';

SET character_set_connection='utf8';

(для справки: Переменная character_set_client устанавливает кодировку данных отправляемых от клиента, переменная character_set_results устанавливает кодировку данных отправляемых клиенту, переменная character_set_connection устанавливает кодировку, в которую преобразуется информация пришедшая от клиента, перед выполнением запроса на сервере.)
или просто
SET NAMES 'utf8' (который заменяет эти 3 команды)
и смотрим одну из таблиц
select * from mytablename ;

4) настройка параметров на новом сервере.
открываем для редактирования файл configuration.php (желательно предварительно сохраните оригинал)
редактируем поля
var $user = 'myusername';

var $password = 'mypassword';

var $db = 'mydbname';

var $log_path = '/новый/путь/к/папке/logs';

var $tmp_path = '/новый/путь/к/папке/tmp';


Заходим на сайт, проверяем, радуемся (или исправляем ошибки, а потом радуемя)

PS:
Есть Еще очень удобный компонент JoomlaPack, корорый может сильно облегчить работу.


вторник, 2 июня 2009 г.

Скрипт для автоматического запуска/останова Tomcat

(пример установки Tomcat 6 на CentOS 5)

1. скачиваем Tomcat 6
2. копируем на локальный раздел (например, /opt/tomcat )
3. проверяем запуск:
  • а) /opt/tomcat/bin/startup.sh
  • б) в браузере проверяем localhost:8080 (это порт по умолчанию)
  • в) останавливаем /opt/tomcat/bin/shutdown.sh
4. создаем файлик для скрита:
  • touch /etc/init.d/tomcat
  • chmod 755 /etc/init.d/tomcat (делаем его исполняемым)
5. Копируем в этот файл следующий текст (с помощью vi, mcedit, gedit... )
#!/bin/bash

# chkconfig: 35 20 80

# description: Tomcat Server basic start/shutdown script

# processname: tomcat

START_TOMCAT=/opt/tomcat/bin/startup.sh


STOP_TOMCAT=/opt/tomcat/bin/shutdown.sh

start() {
echo -n "Starting tomcat: "
${START_TOMCAT}
echo "done."
}
stop() {
echo -n "Shutting down tomcat: "
${STOP_TOMCAT}
echo "done."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 10
start
;;
*)

echo "Usage: $0 {start|stop|restart}"
esac

exit 0

(Примечание: в некоторых случаях указывают TOMCAT_HOME. В данном случае для простоты можно и без TOMCAT_HOME)

6. /sbin/chkconfig --add tomcat (добавляем скрипт в системные службы)
7. /sbin/chkconfig --level 35 tomcat on (будет запускаться на уровнях 3 и 5)
8. /sbin/chkconfig --list tomcat (проверяем)
9. /sbin/service tomcat start (запускаем)