16 мар. 2012 г.

Подключение к внешнему SQL серверу при помощи стандартной SQL Managment Studio на нестандартный порт

Ну вот кто мог подумать, что ребятам из Мелкомягкого придет в голову мысль, что ежели человек желает подключится к SQL серверу не на стандартный 1433 порт, то его надо указывать не по стандарту "host[:port]", а по некому невиданному стандарту "host[,port]"

27 окт. 2011 г.

Перенос сайта на новый хостинг

Многие обладатели интернет сайтов, от малых - до великих, сталкивались с проблемой переноса своего детища с одного хостинга на другой по различным причинам. В данной статье я опишу пару способов переноса всего сайта с одного хостинга на другой.
Дано:
домен:
test.сom
старый сервер:
ip: OLD_IP
document_root:OLD_DR
user:OLD_USER
pass:OLD_PASS
БД user:OLD_DB_USER
БД pass:OLD_DB_PASS
БД имя:OLD_DB_NAME
новый сервер:
ip: NEW_IP
user:NEW_USER
pass:NEW_PASS
document_root:NEW_DR
БД user:NEW_DB_USER
БД pass:NEW_DB_PASS
БД имя:NEW_DB_NAME
Суть переноса сайта с одного хостинга на другой - копирование всей информации(файлов и БД) со старого сервера на новый.

1-ый способ - самый простой.
В большинстве случаев, на каждом хостинге присутствует доступ к серверу по протоколу FTP и доступ к БД с помощью PhpMyAdmin. Первым делом - необходимо скачать все содержимое домашнего каталога со старого хостинга на рабочий компьютер, поправить конфигурационные файлы под нужды нового хостинга, такие как учетная запись для доступа к БД, имя БД, полный путь к домашнему каталогу на новом хостинге и др., и перенести все файлы на новый сервер. Перенос БД заключается в экспорте данных при помощи PMA на старом сервере и импорту оных на новом сервере( для успешной операции желательно использовать сжатие данных при экспорте, потому как на многих хостингах максимальный размер файла для импорта в PMA ограничивается размером в 8 Мб, если же все данные все равно не влазят в ограниченный объем - можно переносить таблицы БД по частям).

2-ый способ.
При наличии удлаенного доступа к старому серверу и новому по протоколу ssh можно поступить следующим образом:
подключится к старому серверу;
сделать дамп базы данных на старом сервере при помощи утилиты mysqldump:
>mysqldump OLD_DB_NAME –uOLD_DB_USER -p > dump.sql
и положить дамп в корень сайта;
создать архив корня сайта со всеми файлами и положить данный архив в корень сайта
>tar -cvzf site.tar.gz *
;
подключится к новому серверу;
при помощи утилиты wget скачать архив сайта минуя рабочий компьютер;
>wget http://test.com/site.tar.gz
;
распаковать архив в корень сайта
>tar xvzf site.tar.gz
;
восстановить БД при помощи команды:
>mysql NEW_DB_NAME –uNEW_DB_USER -p < dump.sql
3-ий способ - самый оптимальный
При наличии удаленного доступа к старому и новому серверам по протоколу ssh и наличия на обоих серверах утилиты rsync:
создаем дамп БД:
>mysqldump OLD_DB_NAME –uOLD_DB_USER -p > dump.sql
выполняем копирование файлов на новый сервер при помощи rsync:
>rsync --progress -zvarle ssh OLD_DR NEW_USER@NEW_IP:NEW_DR && touch OLD_DOCUMENT_ROOT/.done
восстанавливаем БД
>mysql NEW_DB_NAME –uNEW_DB_USER -p < dump.sql

PS:
при работе с серверами по протоколу ssh хорошим тоном является использование утилиты screen(особенно при копировании больших объймов данных), которая позволяет продолжитьь выполнение команды на удаленном сервере при обрыве ssh соединения.
для тестирования успешного переноса сайта на новый сервер необходимо прописать в файле hosts строку вида
NEW_IP test.com
и попробовать зайти на сайт test.com, при полной уверенности, что сайт перенесен нормально - необходимо изменить DNS записи, с перенаправлением трайика test.com на новый сервер.




6 авг. 2011 г.

Вывод звука через HDMI на железяке с чипсетом Nvidia

Данная статья описывает один из вариантов возможной настройки вывода многоканального звука через интерфейс HDMI вместе с видео для железяки c чипсетом Nvidia ION2 под управлением opensuse 11.4 с оболочкой XBMC на борту.
Изначально необходимо обновить до последней версии alsa, pulseaudio, проприетарный Nvidia driver, перезагрузить компьютер
После обновления необходимо выполнить следующие комманды:
>sudo /usr/bin/amixer -q -c 0 sset 'Master',0 unmute && /usr/bin/amixer -q -c 0 sset 'Master',0 100
>sudo /usr/bin/amixer -q -c 0 sset 'IEC958 Default PCM',0 unmute
>sudo /usr/bin/amixer -q -c 0 sset 'IEC958',0 unmute && /usr/bin/amixer -q -c 0 sset 'IEC958',1 unmute
>sudo alsactl store 0
Если в процессе выполнения комманд появляются ошибки — значит скорее всего проблемма кроется в pulseaudio, который необходимо установить из исходних кодов вручную.
Далее ищем устройство, которое обладает возможностью вывода звука через HDMI:
>grep eld_valid /proc/asound/NVidia/eld*
В результате должнен быть следующий вывод:
/proc/asound/NVidia/eld#0.0:eld_valid 0
/proc/asound/NVidia/eld#1.0:eld_valid 1
/proc/asound/NVidia/eld#2.0:eld_valid 0
/proc/asound/NVidia/eld#3.0:eld_valid 0
сопостовление устройств и значений параметра eld_valid
eld#0.0=device 3
eld#1.0=device 7
eld#2.0=device 8
eld#3.0=device 9
(Можно так же попробовать вывести все аудиоустройства при помощи
>aplay -l
, вывод будет следующий:
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC887 Analog [ALC887 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC887 Digital [ALC887 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
).
И первый и второй результат говорит нам о том, что необходимо использовать device 7, карты Nvidia(либо card 1). (Если первый результат не даёт нужного результата, то можно найти нужное устройство методом перебора при помощи последовательного воспроизведения аудио-файла через все видимые устройства:
>aplay -D plughw:NVidia,X /usr/share/sounds/alsa/Front_Center.wav(где X — номер устройства).
Далее необходимо прописать в файле /etc/modprobe.d/50-sound.conf (если оного не существует, то необходимо его создать)
options snd-hda-intel enable_msi=0,probe_mask=0xXXX
соответствие probe_mask для каждого из устройств:
device 3: probe_mask=0x101
device 7: probe_mask=0x102
device 8: probe_mask=0x104
device 9: probe_mask=0x108
Далее необходимо отредактировать файл /etc/pulse/default.pa и заменить
#load-module module-alsa-sink
на
load-module module-alsa-sink device=plughw:1,7
(если не работает — то необходимо заменить plughw на hw)
В конце необходимо удалить временные файлы и текщие файлы при помощи
>rm -r ~/.pulse ~/.asound* ~/.pulse-cookie
и перезагрузить компьтер.
В для вывода звука в XBMC в настройках «вывод звука» нужно прописать следующее:
Формат аудиовыхода: Цифровой
Устройство вывода звука: особый(plughw:1,7)
Другое устройство прямого вывода звука:особый(plughw:1,7)
В результате всех выше перечисленных манипуляций система должна выводить звук через HDMI.
PS: для опредения правильного расположения колонок, можно воспользоваться тестированием при помощи команды:
>speaker-test -c количество_колонок -D plughw:1,7
Сия статья не претендует на оригинальность и уникальность, а наоборот является сборкой большинства советов из следующих статей:
(XBMC)вывод звука через HDMI на базе чипсета nForce
(XBMC)вывод звука через HDMI на базе чипсета GT2XX
(Opensuse) Pulseaudio
(Ubuntu) вывод звука через HDMI для чипсета Nvidia
(Ubuntu) вывод звука через HDMI для чипсета Nvidia ION-2
(ЖЖ) снос pulseaudio на примере ubuntu