Рубрики
www информация

Включить desing phpmyadmin

Источник:

http://php-myadmin.ru/learning/instrument-pma.html
http://www.novell.com/communities/node/8932/enable-designer-phpmyadmin

Configuration Change


1. Open the file libraries/config.default.php. Change the following lines:
$cfg['Servers'][$i]['pmadb'] = '';
$cfg['Servers'][$i]['bookmarktable'] = '';
$cfg['Servers'][$i]['relation'] = '';
$cfg['Servers'][$i]['table_info'] = '';
$cfg['Servers'][$i]['table_coords'] = '';
$cfg['Servers'][$i]['pdf_pages'] = '';
$cfg['Servers'][$i]['column_info'] = '';
$cfg['Servers'][$i]['history'] = '';
$cfg['Servers'][$i]['designer_coords'] = '';

to

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; 



2. Also, Create DB name phpmyadmin and run this script:

-- --------------------------------------------------------
-- SQL Commands to set up the pmadb as described in Documentation.html.
-- 
-- DON'T RUN THIS SCRIPT ON MySQL 4.1.2 AND ABOVE!
-- Instead, please run create_tables_mysql_4_1_2+.sql.
--                                                 
-- This script expects the user pma to already be existing. If we would put a
-- line here to create him too many users might just use this script and end
-- up with having the same password for the controluser.
--                                                     
-- This user "pma" must be defined in config.inc.php (controluser/controlpass)                         
--                                                  
-- Please don't forget to set up the tablenames in config.inc.php                                 
-- 
-- $Id: create_tables.sql 10257 2007-04-07 14:40:24Z lem9 $

-- --------------------------------------------------------

-- 
-- Database : `phpmyadmin`
-- 
DROP DATABASE IF EXISTS `phpmyadmin`;
CREATE DATABASE `phpmyadmin`;
USE phpmyadmin;

-- --------------------------------------------------------

-- 
-- Privileges
-- 
GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO
    'pma'@localhost;

-- --------------------------------------------------------

-- 
-- Table structure for table `pma_bookmark`
-- 

CREATE TABLE `pma_bookmark` (
  `id` int(11) NOT NULL auto_increment,
  `dbase` varchar(255) NOT NULL default '',
  `user` varchar(255) NOT NULL default '',
  `label` varchar(255) NOT NULL default '',
  `query` text NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM COMMENT='Bookmarks';

-- --------------------------------------------------------

-- 
-- Table structure for table `pma_column_info`
-- 

CREATE TABLE `pma_column_info` (
  `id` int(5) unsigned NOT NULL auto_increment,
  `db_name` varchar(64) NOT NULL default '',
  `table_name` varchar(64) NOT NULL default '',
  `column_name` varchar(64) NOT NULL default '',
  `comment` varchar(255) NOT NULL default '',
  `mimetype` varchar(255) NOT NULL default '',
  `transformation` varchar(255) NOT NULL default '',
  `transformation_options` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`)
) TYPE=MyISAM COMMENT='Column information for phpMyAdmin';

-- --------------------------------------------------------

-- 
-- Table structure for table `pma_history`
-- 

CREATE TABLE `pma_history` (
  `id` bigint(20) unsigned NOT NULL auto_increment,
  `username` varchar(64) NOT NULL default '',
  `db` varchar(64) NOT NULL default '',
  `table` varchar(64) NOT NULL default '',
  `timevalue` timestamp(14) NOT NULL,
  `sqlquery` text NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `username` (`username`,`db`,`table`,`timevalue`)
) TYPE=MyISAM COMMENT='SQL history for phpMyAdmin';

-- --------------------------------------------------------

-- 
-- Table structure for table `pma_pdf_pages`
-- 

CREATE TABLE `pma_pdf_pages` (
  `db_name` varchar(64) NOT NULL default '',
  `page_nr` int(10) unsigned NOT NULL auto_increment,
  `page_descr` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`page_nr`),
  KEY `db_name` (`db_name`)
) TYPE=MyISAM COMMENT='PDF relation pages for phpMyAdmin';

-- --------------------------------------------------------

-- 
-- Table structure for table `pma_relation`
-- 

CREATE TABLE `pma_relation` (
  `master_db` varchar(64) NOT NULL default '',
  `master_table` varchar(64) NOT NULL default '',
  `master_field` varchar(64) NOT NULL default '',
  `foreign_db` varchar(64) NOT NULL default '',
  `foreign_table` varchar(64) NOT NULL default '',
  `foreign_field` varchar(64) NOT NULL default '',
  PRIMARY KEY  (`master_db`,`master_table`,`master_field`),
  KEY `foreign_field` (`foreign_db`,`foreign_table`)
) TYPE=MyISAM COMMENT='Relation table';

-- --------------------------------------------------------

-- 
-- Table structure for table `pma_table_coords`
-- 

CREATE TABLE `pma_table_coords` (
  `db_name` varchar(64) NOT NULL default '',
  `table_name` varchar(64) NOT NULL default '',
  `pdf_page_number` int(11) NOT NULL default '0',
  `x` float unsigned NOT NULL default '0',
  `y` float unsigned NOT NULL default '0',
  PRIMARY KEY  (`db_name`,`table_name`,`pdf_page_number`)
) TYPE=MyISAM COMMENT='Table coordinates for phpMyAdmin PDF output';

-- --------------------------------------------------------

-- 
-- Table structure for table `pma_table_info`
-- 

CREATE TABLE `pma_table_info` (
  `db_name` varchar(64) NOT NULL default '',
  `table_name` varchar(64) NOT NULL default '',
  `display_field` varchar(64) NOT NULL default '',
  PRIMARY KEY  (`db_name`,`table_name`)
) TYPE=MyISAM COMMENT='Table information for phpMyAdmin';

-- --------------------------------------------------------

--
-- Table structure for table `pma_designer_coords`
--

CREATE TABLE `pma_designer_coords` (
  `db_name` varchar(64) NOT NULL default '',
  `table_name` varchar(64) NOT NULL default '',
  `x` INT(11) default NULL,
  `y` INT(11) default NULL,
  `v` TINYINT(4) default NULL,
  `h` TINYINT(4) default NULL,
  PRIMARY KEY (`db_name`,`table_name`)
) TYPE=MyISAM COMMENT='Table coordinates for Designer'
Рубрики
www информация

OpenFire

Openfire — свой сервер ICQ

ссылки:

http://it-tek.ru/openfire-nastrojka.html
http://it-tek.ru/openfire-ustanovka-na-platformu-windows-server-2008-r2.html - пример настройки 
http://jabberworld.info/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Openfire_%D0%BF%D0%BE%D0%B4_Windows - wiki
http://www.igniterealtime.org/projects/openfire/ - дистрибутив openfire
http://www.igniterealtime.org/projects/openfire/plugins.jsp - плагины
https://www.pidgin.im/  - клиент для подключения к серверу openfire

Установка:

0) ставим openfire
1) делаем openfire службой
cd C:\Program Files (x86)\Openfire\bin  - переход в каталог с утилитой
openfire-service /install - устанавливаем как службу
openfire-service /start - запускаем службу
2) для настройки заходим в админку
http://localhost:9090 - админка 
User Import Export - плагин для переноса пользователей и паролей 
3) порты ( Любой порт можно посмотреть и сменить в админке)
5222 - Client to Serve
5223 - Client to Server SSL Method
7777 - File Transfer Proxy

p.s
Для обновления  openfire - выключаем службу openfire и устанавливаем поверх.
Для подключения используем клиент pidjin и протокол XMPP
Рубрики
www информация

Перенос redmine + обновление

Источники:

http://tjoker28.livejournal.com/14762.html
http://www.redmine.org/projects/redmine/wiki/RusRedmineUpgrade
https://wiki.debian.org/redmine

Бэкапим данные со старого сервера:

cd каталог_для_бэкапа
mysqldump -u root -p name_base_redmine > redmine_backup_`date +%y_%m_%d`.sql - дампим базу

Устанавливаем redmine на новом сервере (debian 9) :

----------------------------
apt install mysql-server  - ставим mysql
apt install redmine-mysql - ставим redmine
----------------------------
apt install apache2 libapache2-mod-passenger - ставим apache2
cp /usr/share/doc/redmine/examples/apache2-passenger-host.conf /etc/apache2/sites-available/redmine.conf - копируем конфиг redmine для apache2
edit /etc/apache2/sites-available/redmine.conf - редактируем конфиг redmine для apache2
a2enmod passenger - включаем   мод pessenger
a2enmod rewrite - включаем мод  rewrite
a2ensite redmine.conf - включаем конфигурацю redmine.conf для apache2
a2dissite 000-default.conf - отключаем конфигурацию 000-default.conf (внимание может перестать работать phpmyadmin и т.д.)
service apache2 reload
--------------------------
cp database-mysql.yml.template /etc/redmine/default/database.yml
--------------------------

Восстанавливаем из бэкапапа базу и выполняем обновление:

1) mysql -u root -p имя_базы_на_новом_сервере < /каталог_где_лежит/redmine_backup.sql - заливаем базу
2) cd /каталог_redmine_www - переходим каталог установленного redmine
3)!!!  ruby bin/rake db:migrate RAILS_ENV=production - На этот моменте смотрим на все ошибке в базе и проверяем таблицы ( пустые удаляем)
4)Копируем наши вложения из старой папки /каталог_куда_установили/apps/redmine/htdocs/files в новую( ну или из бэкапа в новую) и плагины из старой папки "vendor/plugins"
5)Проверяем, чтобы плагины поддерживали новую версию:
ruby bin/rake redmine:plugins RAILS_ENV="production"
6)Чистим кэши:
ruby bin/rake tmp:cache:clear
ruby bin/rake tmp:sessions:clear

Прикручиваем ldap:

-------------------------------------------------
В Домене создаем пользователя (группа пользователи домена)
-------------------------------------------------
ldifde –f c:\path\ldap.txt - выполнив на контролере домена получим текстовый файл. 
( в нем будет dn: DC=ldap-server,DC=my-company,DC=com) 
-------------------------------------------------
Имя:любое имя ( ну можно my_domain.FQDN)
Компьютер: IP-адрес вашего домен контроллера
Порт: 389
Учётная запись: redmine_mp
Пароль: пароль
BaseDN: DC=corp,DC=mydomain, DC=loc
Создание пользователя на лету: (ставим галку если требуется)
Пользователь: sAMAccountName
Имя: givenName
Фамилия: sn
Email: mail
------------------------------------------------
Пользователи -> Пользователь -> Режим аутентификации -> выбираем_наш_домен
------------------------------------------------
Рубрики
www информация

HTTP (веб-браузера и веб-сервера)

Описание:

HTTP (HyperText Transfer Protocol) дословно переводится, как протокол передачи гипертекста. 
HTTP - прикладной протокол (обеспечивает работу определенных приложений: веб-браузера и веб-сервера). 
Схема работы – клиент-серверная. 
Клиент отсылает запрос, содержащий заголовок запроса. 
Сервер шлет на это ответ, который состоит из заголовка и данных (в данных содержится как раз то, что запрашивал клиент: веб-страница, какая-нибудь картинка или что-то еще).

Все это происходит в несколько этапов:
Клиент связывается с серваком.
Клиент запрашивает ресурс с сервака (HTML-файл, например) посредством одного из HTTP-методов (о них – чуть позже).
Сервер посылает ответ, в котором содержится заголовок ответа (включающий код состояния HTTP) и сами данные.
Сервер закрывает соединение.
Так качается один файл (HTML-страница, графический файл etc). 
Для скачки каждого нового файла необходимо заново пройти все этапы соединения. 
Например, если браузер получил таким образом HTML-код странички, адрес которой ввел пользователь, и увидел, что в теле HTML есть ссылки на картинки, он, чтобы грамотно построить 
всю HTML-страницу и показать ее юзеру, должен связаться с серваком n-ное количество раз и скачать все необходимые картинки.

GET

GET – с помощью этого метода клиент сообщает серверу, что он хочет, чтоб сервак прислал ему такой-то файл. 
Для наглядности давай запустим телнет и попробуем проделать все ручками:
telnet u121.narod.ru 80
В окне терминала мигает символ подчеркивания ("_") – это означает, что сервер ждет запросов от клиента. 
Ок, дадим ему запрос:
GET /index.html HTTP/1.1
HOST: u121.narod.ru
На это он нам послушно выдаст index.html.
Если попросим какую-нибудь картинку (GET /img/girl.jpg HTTP/1.1) – выдаст и картинку :).

HEAD

HEAD – с помощью этого метода клиент сообщает серверу, что он хочет, 
чтоб сервер прислал ему хедер о таком-то файле (только хедер, без самого файла!). 
Попробуем? Вводим:
telnet u121.narod.ru 80
HEAD /index.html HTTP/1.1
HOST: u121.narod.ru
Видишь, самого файла нет – только его описание.

POST

POST – с помощью этого метода клиент сообщает серверу, что он хочет передать серверу какие-то данные (например, параметры для cgi-скрипта). 
С помощью этого метода на сервер отсылаются данные из HTML-форм.

PUT

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

DELETE

 
DELETE - с помощью этого метода клиент сообщает серверу, что он хочет, чтоб сервер удалил такой-то файл. 
Ммм, а еще чего :)?

TRACE

 
TRACE - трассировка, используется для тестирования работы сети.
Подразумевается, что содержимое запроса будет возвращено неизменным.

Ответ сервера:

Вместе с реализуемыми методами при отсылке на сервер и при получении ответа от сервера в заголовок 
запроса может включаться большое количество стандартных полей, которые дополняют, делают более гибким сам запрос и ответ. 
Одни дают более подробную информацию о клиенте. Поля заголовков HTTP условно делятся на поля общих заголовков (general-header fields), 
заголовков запроса (request-header fields) и заголовков ответа (response-header fields). Синтаксис полей следующий:

<название поля> : <значение поля>

Ниже перечислены в алфавитном порядке названия полей, всех трех типов сразу. 
В большинстве случаев в запросе или ответе сервера сначала идут поля общих заголовков, а потом остальные.

Accept - здесь перечисляются возможные типы и размеры получаемых данных, которые сможет принять клиент. 
         Если допустимы все типы - ставятся символы */*

Accept-Charset - приводится набор символов поддерживаемых клиентом.

Accept-Encoding - как и в поле Accept здесь указаны поддерживаемые кодировки данных в ответе.

Accept-Language - перечислены языки требуемые в ответе.

Allow - приводится список методов поддерживаемых сервером, которыми клиент вправе воспользоваться.

Authorization - содержит некоторую информацию: "удостоверение", которую клиент должен предоставить для подключения 
                к запрещенным для анонимного доступа ресурсам. В случае неверной идентификации клиента 
                сервер в ответе посылает ошибку с кодом 403 (об этом чуть далее).

Content-Encoding - указан метод кодирования документа. Например: Content-Encoding: gzip

Content-Language - содержит язык аудитории. Например, для российской 
                   и англоязычной аудитории этот параметр будет следующим: Content-Language: ru, en.

Content-Length - здесь сервером возвращается размер тела передаваемых данных.

Content-Type - тут находится тип возвращаемого сервером сообщения. 
               К примеру, для gif-картинки: Content-Type: image/gif.

Date - это поле общего заголовка, которое указывает на дату создания сообщения. 
       Приводится она в своем формате, выглядящем так: Date: Fri, 15 Aug 2002 10:00:00 GMT.

Expires - поле содержащее дату и время при наступлении которого документ становится неактуальным. 
          Обычно это выражается в недоступности документа в режиме автономного просмотра. 
          Формат такой же, как и у поля Date. 
          Однако если вместо даты стоит ноль, то документ моментально считается устаревшим.

From - используется HTTP-клиентами, желающими, чтобы сервер "знал" их адрес электронной почты. 
       Формат записи стандартный: From: ildar@arat.ru. 
       Этот параметр обычно применяется в целях регистрации.

Host - употребляется клиентом для указания URL в более простой форме, 
       используется с методом GET следующим образом:
       GET /pub/WWW/ HTTP/1.1
       Host: http://www.w3.org
       Таким образом, при выполнении этого запроса будет взят документ с http://www.w3.org/pub/WWW/

If-Modified-Since - это поле создано для использования условного запроса GET. 
                    Документ возвращается клиенту, только если он обновился с момента указанной даты. 
                    Если документ не изменялся, то сервер возвратит код статуса 304.

If-Unmodified-Since - противоположный по действию параметр.

Last-Modified - содержится дата и время последнего обновления ресурса.

Location - хранится полный адрес прежней "дислокации" ресурса.

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

Referer - поле, позволяющее клиенту указывать серверу адрес, с которого он запрашивает ресурс.

Retry-after - параметр возвращаемый сервером, в случае, когда имеется загруженность и сервер не может обработать запрос. 
              Возвращается время, после которого клиент сможет повторить свой запрос, сопровождается все это кодом состояния 503.

Server - здесь возвращается имя и версия HTTP-сервера.

User-Agent - поле указывающее имя и версию HTTP-клиента.

WWW-Authenticate - возвращается сервером в случае, когда клиент должен реализовать не анонимный авторизованный доступ. 
                   Сопровождается кодом состояния 401. 
                   Существует множество специфичных полей, также используемых в этом протоколе. 
                   Здесь перечислены самые основные.

Остается рассмотреть действия сервера на заявленный запрос клиента.

Сервер интерпретирует метод запроса, и создает сообщение ответа. 
Оно состоит из заголовка (header), куда включаются статус сервера, информация о доставляемом документе, прочая информация для клиента (разбросанная по полям, рассмотренным выше) и сообщения. 
После чего сервер завершает сеанс связи.
Давай посмотрим, что такое статус сервера. 
Имеется целый набор кодов статуса сервера, они разделены на типы.

100+

 
Первый тип - информационный, означающий, что запрос получен и обрабатывается. 
Сюда включены коды с 100 до 199.
100 Continue - клиент должен продолжить свой запрос.
101 Switching Protocols - сервер переключает протокол по требованию клиента, указанному в поле Upgrade.

200+

Второй тип - успешно обработанные запросы:
200 OK - запрос был успешно выполнен, возвращаемая информация зависит от метода указанного клиентом.
201 Created - запрос был выполнен, в результате чего был создан новый ресурс. Его расположение возвращается в поле Location.
202 Accepted - запрос принят, но его обработка не закончена. Фактически запрос может и не выполнится.
203 Non-Authoritative Information - возвращаемая в заголовке информация не оригинал, а взята у третьей стороны.
204 No Content - сервер выполнил запрос, но из-за отсутствия информации возвращает лишь код статуса и заголовок.
205 Reset Content - запрос выполнен и клиентская программа (браузер) должна очистить документ (форму) инициирующую запрос.
206 Partial Content - сервер возвращает лишь часть документа затребованного объема.


300+
Третий тип - коды с 300 по 399 - они указывают на то, что запрос не выполнен, и для его достижения клиент должен предпринять дополнительное действие.

300 Multiple Choices - запрошенный URI имеет несколько представлений. В качестве такого множества может 
                       выступать разбиение по языкам. В заголовке возвращаемого ответа сервером может 
                       содержаться информация, конкретизирующая запрос.

301 Moved Permanently - запрошенный ресурс перенесен на другой постоянный URI, указанный в поле Location.

302 Moved Temporarily - документ, указанный в запросе временно перенесен на другой URI, указанный в поле Location.

303 See Other - запрашиваемый URI может быть найден под другим адресом, его следует запрашивать методом GET.

304 Not Modified - это ответ сервера на условный запрос с полем If-Modified-Since, означающий, документ не изменялся и клиент должен использовать локальную версию документа.

305 Use Proxy - обращение к запрошенному ресурсу должно производиться через прокси-сервер, указанный в поле Location.

400+

Четвертый тип кодов - начинающиеся с цифры 4. Они говорят об ошибочном запросе со стороны клиента.
400 Bad Request - запрос содержит синтаксическую ошибку. Клиенту следует исправить запрос.

401 Unauthorized - запрос подразумевает подтверждение подлинности клиента. Требуется повторить запрос с полем Authorization.

402 Payment Required - зарезервированный, еще не используемый в HTTP код.

403 Forbidden - сервер принял запрос, но отказывается на него отвечать. 
                Возможно, имеется нарушение прав доступа.

404 Not Found - документ по данному URL не найден.

405 Method Not Allowed - метод для данного запрашиваемого ресурса не дозволен. 
                         Сервером также возвращается список разрешенных методов в поле Allow.

406 Not Acceptable - документ по данному адресу существует, однако формат ресурса не соответствует запрашиваемому клиентом.

407 Proxy Authentication Required - указывает на то, что пользователь должен сначала подтвердить свою подлинность прокси-серверу.

408 Request Time-out - истекло время ожидания сервера, при котором клиент мог завершить запрос. 
                       Требуется снова произвести подключение.

409 Conflict - запрос не может быть выполнен вследствие конфликта с текущим состоянием документа. 
               Сервер также в заголовке возвращает информацию о причине конфликтной ситуации.

410 Gone - требуемый ресурс удален с сервера и не может быть предоставлен.

411 Length Required - сервер отказал в обработке ресурса из-за отсутствия в заголовке запроса поля Content-Length определяющее длину документа.

412 Precondition Failed - условия указанные клиентом в заголовке запроса оказались ложными.

413 Request Entity Too Large - причина отказа сервера в данном случае - достаточно большой объект запроса. 
                               Если это положение временно, то в заголовки ответа включается поле Retry-After.

414 Request-URI Too Long - сервер выдает отказ вследствие большой длины в адресе указанного ресурса.

415 Unsupported Media Type - сервер отказывается обработать запрос из-за формата объекта запроса, 
                             тип которого не поддерживается ресурсом для запрашиваемого метода.

500+

Пятый тип - коды статуса, отвечающие за ошибки сервера, находятся в диапазоне, начиная с 500-го по 599-й.
500 Internal Server Error - на сервере возникла внутренняя ошибка, не позволяющая ему выполнить запрос.

501 Not Implemented - методы указанные клиентом не поддерживаются сервером для любого ресурса.

502 Bad Gateway - сервер получил недопустимые сведения от другого сервера, при попытке осуществить запрос клиента.

503 Service Unavailable - временно нет возможности обработать запрос, при этом в заголовке возможно указание времени возобновления функционирования сервера.

504 Gateway Time-out - сервер не дождался ответа от другого сервера при попытке обеспечить выполнения запроса.

505 HTTP Version not supported - не поддерживается версия протокола HTTP, указанная в запросе клиента.