Автор Тема: Установка и настройка web сервера на Debian 8 + Apache + php + mysql  (Прочитано 5446 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн waw555

  • Новичок форума
  • Topic Author
  • Сообщений: 6
  • Jabber: waw555
Здравствуйте, уважаемые форумчане!

Имею типичную проблему с установкой web сервера на debian 8 + apache + php + mysql, описываю порядок действий и суть проблемы, надеюсь на вашу помощь и рекомендации.

Железо кратко:
Процессор: Intel(R) Pentium(R) CPU G2020 @ 2.90GHz
Оперативная память: 4 GB
Материнская плата: Asus H61M-K

Программное обеспечение кратко:
OS Debian 8 amd64
Apache: apt-get install apache2
PHP: apt-get install php5
MySQL: apt-get install mysql

Установка ос со всеми параметрами по умолчанию, кроме региональных и языковых, разбивка диска 80GB - все файлы в одном месте (Для сейчас хватит, нужно разобраться с проблемой), из софта галочка была установлена только на стандартный набор утилит и ssh, остальное все, типа сервер печати и web server отключено.

Установка apache + php + mysql через apt-get install без каких либо изменений, только в mysql пароль root.

Изменение настроек сети (В файле etc/network/interfaces) в соответствии с моими условиями (Типовые наверно), gateway 192.168.0.1 netmask 255.255.255.0 address 192.168.0.2 доступ из вне есть, как по ip так и по домену.

Перезапустил сервер (На всякий)

Зашел по IP зашел по домену, апач радует глаз стандартным приветствием.

Загружаю в папку скрипт сайта (в моем случае это crm система yetiforce)

Запускаю установку, прохожу все этапы, и нажимаю завершить и вот тут то проблема и вырисовывается, сайт подвисает и браузер выдает ошибку данные не получены. Жду 2-5 минут, захожу в систему все работает.

На сайте скрипта смотрю рекомендуемые параметры, типа max_execution_time и т. п., меняю их в php.ini, перезапускаю apache, захожу на проблемную страницу в crm, в моем случае это редактирование профиля, нажимаю изменить, потом сохранить и получаю тот же результат Данные не получены.

Смотрю логи, вроде все нормально, и у apache и у mysql, но замечаю, что лог mysql меняется в размере.

Запускаю еще раз процесс изменения профиля в crm, жду когда браузер покажет Данные не получены, смотрю логи mysql, а он меняется, то есть получается apache уже отработал и сказал что все выполнил, а mysql еще выполняет запросы, как бы мне победить данную проблему, с чего начать копать? У разработчика системы на тестовом сайте, такой проблемы нет.

Заранее благодарю за помощь и потраченное время!
 


Оффлайн ioann.sys

  • Админ
  • Местный житель
  • ***
  • Сообщений: 164
  • всегда прав!
Попробуйте взять у разработчика его /etc/mysql/my.cnf, точнее, его параметры такие, как размер буфера и т. п.
Возможно, в апаче не задействованы жизненно-важные модули, которые можно задействовать с помощью a2enmod.
Debian GNU/Linux jessie/sid on notebook ASUS N750JK
 

Онлайн endru

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1801
  • Новосибирск
  • Jabber: endru@jabber.ru
waw555, а читали требование к системе?
https://yetiforce.com/en/administrator-documentation/instalation/103-web-server-requirements.html

проще говоря - пробуйте ставить crm на wheezy

Оффлайн waw555

  • Новичок форума
  • Topic Author
  • Сообщений: 6
  • Jabber: waw555
Да, и параметры все писал как в документации

Предыдущая установка, как раз и была на debian 7.8, все остальное так же по дефолту плюс пожелания разработчика.

Результат тот же, может машина плохая?
 

Онлайн endru

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1801
  • Новосибирск
  • Jabber: endru@jabber.ru
Результат тот же, может машина плохая?
проверяй жесткий диск и озу.

Оффлайн waw555

  • Новичок форума
  • Topic Author
  • Сообщений: 6
  • Jabber: waw555
Жесткие диски менял, даже на ssd пробовал, результат тот же, оперативку менял, пробовал вместо 4 гигов на 2 ставить, тоже самое, даже не знаю куда копать.

Да, кстате, на арендованом хостинге, тоже самое

Сообщение объединено: 26 Май 2015, 15:20:35
В целом система работает быстро и адекватно, затык только в одном месте, видимо там запросы большие.
« Последнее редактирование: 26 Май 2015, 15:20:35 от waw555 »
 

Онлайн endru

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1801
  • Новосибирск
  • Jabber: endru@jabber.ru
видимо там запросы большие.
включи отслеживание медленных запросов в mysql и посмотри. возможно дело только в конфигах

Оффлайн waw555

  • Новичок форума
  • Topic Author
  • Сообщений: 6
  • Jabber: waw555
Я вроде нашел проблему, только вод не специалист в php и mysql, может кто глянет мои догадки.

Вот лог mysql, в котором видно, что удаляется и вставляется одно и то же

150526 10:14:01    38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=1160
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',1160,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=1502
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',1502,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=12
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',12,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=970
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',970,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=17
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',17,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=972
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',972,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=15
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',15,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=971
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',971,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=1738
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',1738,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=36
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',36,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=1331
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',1331,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=1364
   38 Query INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES ('1','6',1364,0,0)
   38 Query DELETE FROM vtiger_profile2field WHERE profileid='1' AND tabid='6' AND fieldid=1369

Вот код который отвечает за это

if(is_array($fieldPermissions)) {
foreach($fieldPermissions as $fieldId => $stateValue) {
$db->pquery('DELETE FROM vtiger_profile2field WHERE profileid=? AND tabid=? AND fieldid=?',
array($profileId, $tabId, $fieldId));
if($stateValue == Settings_Profiles_Record_Model::PROFILE_FIELD_INACTIVE) {
$visible = Settings_Profiles_Module_Model::FIELD_INACTIVE;
$readOnly = Settings_Profiles_Module_Model::IS_PERMITTED_VALUE;
} elseif($stateValue == Settings_Profiles_Record_Model::PROFILE_FIELD_READONLY) {
$visible = Settings_Profiles_Module_Model::FIELD_ACTIVE;
$readOnly = Settings_Profiles_Module_Model::FIELD_READONLY;
} else {
$visible = Settings_Profiles_Module_Model::FIELD_ACTIVE;
$readOnly = Settings_Profiles_Module_Model::FIELD_READWRITE;
}
$sql = 'INSERT INTO vtiger_profile2field(profileid, tabid, fieldid, visible, readonly) VALUES (?,?,?,?,?)';
$params = array($profileId, $tabId, $fieldId, $visible, $readOnly);
$db->pquery($sql, $params);
}
}

Закомментировал DELETE и заменил INSERT на UPDATE

if(is_array($fieldPermissions)) {
foreach($fieldPermissions as $fieldId => $stateValue) {
/*$db->pquery('DELETE FROM vtiger_profile2field WHERE profileid=? AND tabid=? AND fieldid=?',
array($profileId, $tabId, $fieldId));*/
if($stateValue == Settings_Profiles_Record_Model::PROFILE_FIELD_INACTIVE) {
$visible = Settings_Profiles_Module_Model::FIELD_INACTIVE;
$readOnly = Settings_Profiles_Module_Model::IS_PERMITTED_VALUE;
} elseif($stateValue == Settings_Profiles_Record_Model::PROFILE_FIELD_READONLY) {
$visible = Settings_Profiles_Module_Model::FIELD_ACTIVE;
$readOnly = Settings_Profiles_Module_Model::FIELD_READONLY;
} else {
$visible = Settings_Profiles_Module_Model::FIELD_ACTIVE;
$readOnly = Settings_Profiles_Module_Model::FIELD_READWRITE;
}
$sql = 'UPDATE vtiger_profile2field SET (profileid, tabid, fieldid, visible, readonly) VALUES (?,?,?,?,?)';
$params = array($profileId, $tabId, $fieldId, $visible, $readOnly);
$db->pquery($sql, $params);
}
}

Вопрос к знатокам, будут ли последствия?

По логике, не должно быть
 


Онлайн endru

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1801
  • Новосибирск
  • Jabber: endru@jabber.ru
смотрел бы в сторону конфигов сервера...
показывай файл настройки VirtualHost, и вывод команды:
apache2ctl -M

Оффлайн waw555

  • Новичок форума
  • Topic Author
  • Сообщений: 6
  • Jabber: waw555
apache2ctl -M
Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 setenvif_module (shared)
 status_module (shared)

000-default.conf

<VirtualHost *:80>
   # The ServerName directive sets the request scheme, hostname and port that
   # the server uses to identify itself. This is used when creating
   # redirection URLs. In the context of virtual hosts, the ServerName
   # specifies what hostname must appear in the request's Host: header to
   # match this virtual host. For the default virtual host (this file) this
   # value is not decisive as it is used as a last resort host regardless.
   # However, you must set it for any further virtual host explicitly.
   #ServerName crm.euro-lock.ru

   ServerAdmin admin@euro-lock.ru
   DocumentRoot /www/crm.euro-lock.ru

   # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
   # error, crit, alert, emerg.
   # It is also possible to configure the loglevel for particular
   # modules, e.g.
   #LogLevel info ssl:warn

   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined

   # For most configuration files from conf-available/, which are
   # enabled or disabled at a global level, it is possible to
   # include a line for only one particular virtual host. For example the
   # following line enables the CGI configuration for this host only
   # after it has been globally disabled with "a2disconf".
   #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
 

Онлайн endru

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1801
  • Новосибирск
  • Jabber: endru@jabber.ru
как минимум:
a2enmod rewriteи в конфиг VirtualHost заменить:
<VirtualHost *:80>
   ServerName crm.euro-lock.ru
   DocumentRoot /www/crm.euro-lock.ru

        <Directory /www/crm.euro-lock.ru>
            Options FollowSymLinks
            AllowOverride All
            DirectoryIndex index.php
            Order allow,deny
            Allow from all
        </Directory>

   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
и лучше почитай об общих настройках apache для хостинга. ибо знаний у тебя очень мало...

Оффлайн waw555

  • Новичок форума
  • Topic Author
  • Сообщений: 6
  • Jabber: waw555
Изменил, без результатно
 

Онлайн endru

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1801
  • Новосибирск
  • Jabber: endru@jabber.ru
waw555, я сказал "как минимум".
в особенности твоей crm не вникал, да и незачем мне.
бери любую распространенную CMS, смотри как настраивают хостинг, как получится поднять - переходи к своей проблеме. а то так можно всё перерыть вдоль и поперек. возможно банально прав на запись нет у апача:
chown -R www-data /www/crm.euro-lock.ruа возможно в другом проблема, в любом случае нужно заново с нуля ставить yeti - текущая версия установлена явно не корректно.

Теги:
 

[Решено] Установка Erlang.

Автор shaly

Ответов: 7
Просмотров: 3131
Последний ответ 20 Июнь 2014, 05:02:50
от ihammers
Установка windows 10 с ОС Linux Debian10

Автор sergey_klcv

Ответов: 1
Просмотров: 281
Последний ответ 24 Август 2019, 21:57:57
от G_r_i_g_a
установка второго диска

Автор igor

Ответов: 6
Просмотров: 7680
Последний ответ 12 Март 2013, 23:21:43
от PbI6A
Установка ограниченных прав на нового пользователя

Автор madwayz1337

Ответов: 3
Просмотров: 712
Последний ответ 18 Сентябрь 2016, 18:08:19
от alsoijw
Установка пакетов из testing

Автор Salder

Ответов: 6
Просмотров: 2037
Последний ответ 23 Январь 2017, 04:13:29
от ogost