LINUX.ORG.RU
ФорумAdmin

На Debian 7 при запущенном Apache2 не работает сайт

 , , ,


0

1

Здравствуйте, я в линукс новичок, есть сайт и apache2 гуглил как это настраивать, настроил, в логах ошибок нет (ну или я не разобрался) /var/log/apache2/error.log:

... 

[***] [notice] caught SIGTERM, shutting down

[***] [notice] Apache/2.2.22 (Debian) mod_gnutls/0.5.10 PHP/5.4.45-0+deb7u14 configured -- resuming normal operations

...

В консоли всё ОК, ошибок нет. Nginx остановлен. Порт apache /etc/apache2/ports.conf:

NameVirtualHost *:443
Listen 443

В sites-enabled только 1 файл:

<IfModule mod_gnutls.c>

<VirtualHost _default_:443>

	ServerAdmin webmaster@localhost

	DocumentRoot /var/www

	<Directory /var/www/>

		Options FollowSymLinks

		AllowOverride None

	</Directory>

	<Directory /var/www/>

		Options Indexes FollowSymLinks MultiViews

		AllowOverride None

		Order allow,deny

		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all

	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log

	# Possible values include: debug, info, notice, warn, error, crit,

	# alert, emerg.

	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

	#   SSL Engine Switch:

	#   Enable/Disable SSL for this virtual host.

	<FilesMatch "\.(cgi|shtml|phtml|php)$">

	</FilesMatch>

	<Directory /usr/lib/cgi-bin>

	</Directory>

	BrowserMatch "MSIE [2-6]" \

		nokeepalive ssl-unclean-shutdown \

		downgrade-1.0 force-response-1.0

	# MSIE 7 and newer should be able to use keepalive

	BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown


</VirtualHost>

</IfModule>

Что не так? Если надо что-то ещё показать - покажу. И да у меня SSL.



Последнее исправление: TimurSh (всего исправлений: 2)

Ответ на: комментарий от TimurSh

... причины 500-й ошибки - это или какие-то «кривые» директивы в настройках Apache, или какие-то проблемы с доступом к файлам (веб-сервер просто не может что-то прочитать) или какие-то «кривые» директивы в .htaccess-файлах.

vinvlad ★★
()
Ответ на: комментарий от TimurSh

Содержание .htaccess:

DirectoryIndex index.html;
Содержание index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Титл</title>
</head>
  <body>
    <h1>Титл</h1>
    <p>Тест</p>
    <p>Тест <b>Тест</b></p>
  </body>
</html>

TimurSh
() автор топика
Ответ на: комментарий от TimurSh

Вот у меня ещё проблемв: В опере я открыва свой сайт... http://1234.56/ загружается уже https://1234.56/ . Как исправить такое перенаправление? А в хроме остаётся http://1234.56/ . В хроме показывает это:

Index of /
[ICO]	Name	Last modified	Size	Description
[TXT]	index.html	12-Mar-2019 02:00	200	 
Apache/2.2.22 (Debian) Server at rumithost.tk Port 80

TimurSh
() автор топика
Ответ на: комментарий от TimurSh

В опере я открываю свой сайт http... загружается уже https...

Почистите кэш (историю) в обозревателе - опера просто запомнила ваш предыдущий выбор для домена.

Ну и, как видите, DirectoryIndex не работает. Это не имеет прямого отношения к вашей изначальной задаче насчет SSL, но это дело нужно, конечно, исправить. Для этого почитайте:
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride
http://httpd.apache.org/docs/2.2/howto/htaccess.html
http://httpd.apache.org/docs/2.2/mod/mod_dir.html

Документация по вашей версии Apache:
http://httpd.apache.org/docs/2.2/
http://httpd.apache.org/docs/2.2/mod/directives.html
http://httpd.apache.org/docs/2.2/mod/quickreference.html

vinvlad ★★
()
Ответ на: комментарий от TimurSh

... и еще такой совет:
обычно, когда используют SSL (https), то 80-й порт не отключают, а просто в конфигурации виртуального домена делают перенаправление http -> https.

Ну и тут есть другой момент: для того, чтобы получить-обновить сертификат, соответствующая служба должна убедиться в том, что вы являетесь владельцем домена. Для этого вас могут попросить разместить определенный файл на вашем домене. Если HTTPS еще не работает, то должен быть открыт HTTP-доступ.

vinvlad ★★
()
Ответ на: комментарий от TimurSh

... ну и в догонку )

Ваш сайт в данный момент доступен не только по вашему домену, но и просто по IP-шнику. В будущем это может создать вам SEO-проблемы из-за дублирования сайтов.

Как я вам уже говорил ранее, дефолтная конфигурация, которую (в том числе) Apache использует при обращении по IP-адресу, должна указывать на пустой сайт.

vinvlad ★★
()
Ответ на: комментарий от vinvlad

Ошибка в тестовом сайте была в лишнем

;
. Пи попытке запустить старый сайт с вот таким .htaccess:
php_value upload_max_filesize 200M
php_value post_max_size 200M
php_value max_execution_time 30
php_value max_input_time 30
php_flag magic_quotes_gpc Off
DirectoryIndex index.php
Options -Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteBase /

RewriteRule ^engine/(.*)$ index.php?do=index [L]
RewriteRule ^conf/(.*)$ index.php?do=index [L]
RewriteRule ^data/(.*)$ index.php?do=index [L]
RewriteRule ^cron.php$ index.php?do=index [L]
RewriteRule ^cache/(.*)$ index.php?do=index [L]
RewriteRule ^tmp/(.*)$ index.php?do=index [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]


TimurSh
() автор топика
Ответ на: комментарий от TimurSh

Вот такая ошибка:

Страница недоступна
Сайт 1234.56 пока не может обработать этот запрос.

HTTP ERROR 500

TimurSh
() автор топика
Ответ на: комментарий от TimurSh

Ошибка в тестовом сайте была ...

Вот поэтому и надо всю настройку проводить поэтапно - чтобы было более понятно, где искать причину возможных неприятностей. А так, если пытаться всё сразу запустить, слишком много всяких вариантов получается...

Что касается 500-х кодов из-за ошибок в .htaccess, то здесь могут быть чисто синтаксические ошибки (как в данном конкретном случае) или еще использование директив, относящихся к модулям, не активизированным в конфигурации Apache.

vinvlad ★★
()

Что касается сертификатов Let’s Encrypt, то там полно всяких клиентов: https://letsencrypt.org/docs/client-options/

Я бы лично попробовал для начала раскрутить какой-нибудь клиент на Bash, например, acme.sh:

https://github.com/Neilpang/acme.sh https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert

Там в инструкции достаточно внятно всё расписано. Выбираете подходящее место размещения файлов сертификата, ну и потом прописываете соответствующие пути в apache-директивах SSLCertificateFile, SSLCertificateKeyFile и SSLCertificateChainFile.

vinvlad ★★
()
Ответ на: комментарий от vinvlad

Ошибка всего сайта в index.php:

<?php
@session_start ();

date_default_timezone_set ( 'Europe/Moscow' );
@ini_set ( 'display_errors' , false );
@ini_set ( 'html_errors' , false );
@ini_set ( 'error_reporting' , E_ALL ^ E_WARNING ^ E_NOTICE );
@ob_start ();
@ob_implicit_flush ( 0 );
define( 'key_12300321' , true );
define( 'key' , true );
define( 'ROOT' , dirname ( __FILE__ ) );
define( 'START_TIME' , microtime ( true ) );
if ( $file = file_get_contents ( ROOT . '/data/conf.ini' ) ) {
	if ( ! $conf = json_decode ( $file , true ) ) {
		echo 'Что-то пошло не так!Не удалось открыть настройки панели';
		exit;
	}
} else {
	echo 'Что-то пошло не так!Не удалось открыть настройки панели';
	exit;
}
if ( ! $conf[ 'curs' ] ) {
	$conf[ 'curs' ] = 1;
	$conf[ 'curs-name' ] = 'руб';
}
include_once ( ROOT . '/engine/classes/engine.class.php' );
include_once ( ROOT . '/engine/classes/lang.class.php' );
l::run ();
if ( api::phone () ) {
	header ( 'Access-Control-Allow-Origin: *' );
}
r::run ();
$do = r::g ( 0 );
if ( preg_match ( "/[^a-zA-Z0-9]/i" , $do ) ) {
	api::e404 ( 'Запрашиваемая страница не найдена.' );
} else {
	if ( $do ) {
		$file = ROOT . "/engine/routers/" . $do . ".php";
		if ( ! @file ( $file ) ) {
			api::e404 ( 'Ошибка!Запрашиваемая страница не найдена.' );
		} else {
			try {
				if ( ! @include_once ( $file ) ) {
					throw new Exception ( 'Ошибка!Не удалось загрузить модуль ' . $do );
				}
			} catch ( Exception $e ) {
				api::e404 ( $e->getMessage () );
			}

		}
	} else {
		$file = ROOT . "/engine/routers/index.php";
		try {
			if ( ! @include_once ( $file ) ) {
				throw new Exception ( 'Ошибка!Не удалось загрузить модуль ' . $do );
			}
		} catch ( Exception $e ) {
			api::e404 ( $e->getMessage () );
		}
	}
}
    if ( ! api::mobile () ) {
       db::q ( 'SELECT block FROM users where id="'.api::info ( 'id' ).'"' ); 
       $row3 = db::r (); 
       if($row3['block'] == 1){ 
       die('<div align="center"><img src="/img/bloced/bloced.jpg"><BR/></div>'); 
      } 
      db::q ( 'SELECT * FROM block_ip where ip="'.$_SERVER["REMOTE_ADDR"].'"' ); 
      $row4 = db::r (); 
      if($row4['ip']){ 
      die('<div align="center"><img src="/img/bloced/bloced.jpg"><BR/></div>'); 
}
	tpl::load ( 'main-header' );
	if ( ! empty( $title ) ) {
		$title = $title . ' - ' . $conf[ 'title' ];
	} else {
		$title = $conf[ 'title' ];
	}
	tpl::set ( '{title}' , $title );
	tpl::set ( '{keywords}' , $conf[ 'keywords' ] );
	tpl::set ( '{description}' , $conf[ 'description' ] );
	tpl::set ( '{domain}' , htmlspecialchars ( trim ( $_SERVER[ 'HTTP_HOST' ] ) ) );
	tpl::set ( '{balance}' , api::price ( api::info ( 'balance' ) ) . ' ' . $conf[ 'curs-name' ] );
	if ( api::$go ) {
		tpl::set ( '{userid}' , api::$logget[ 'id' ] );
	} else {
		tpl::set ( '{userid}' , '0' );
	}
	tpl::compile ( 'header' );
	tpl::load ( 'main' );
	if ( api::$go ) {
		tpl::set ( '{userid}' , api::$logget[ 'id' ] );
	} else {
		tpl::set ( '{userid}' , '0' );
	}
	tpl::set ( '{balance}' , api::price ( api::info ( 'balance' ) ) . ' ' . $conf[ 'curs-name' ] );
	tpl::set ( '{header}' , str_replace ( '<link rel="shortcut icon" href="{icon}" />' , '' , tpl::result ( 'header' ) ) );
	tpl::set ( '{title}' , $title );
	tpl::set ( '{title2}' , $title );
	api::nav_base ();
	tpl::set ( '{speedbar}' , api::speedbar () );
	tpl::set ( '{menu-left}' , api::speedbar ( '1' ) );
	if ( tpl::result ( 'nav_get' ) ) {
		$nav = tpl::result ( 'nav' );
	} else {
		$nav = "";
	}
	api::inc ( 'servers' );
	if ( servers::$speedbar != 0 ) {
		tpl::set ( '{content}' , $nav . tpl::result ( 'content' ) . tpl::result ( 'error' ) );
	} else {
		tpl::set ( '{content}' , $nav . tpl::result ( 'error' ) . tpl::result ( 'content' ) );
	}
	tpl::compile ( 'main' );
	echo tpl::result ( 'main' );
} else {
	echo tpl::result ( 'content' );
	echo '<div style="display:none;" class="auto_load_content">' . json_encode ( $logget_key ) . '</div>';
}
db::e ();
?>

TimurSh
() автор топика
Ответ на: комментарий от TimurSh

Ошибка всего сайта в index.php ...

Ну, это смотрите в error-логе - там должен быть указан номер строчки с ошибкой. Можете на время поиска ошибки заменить временно:

@ini_set ( 'error_reporting' , E_ALL ^ E_WARNING ^ E_NOTICE );

на

@ini_set ( 'error_reporting' , E_ALL );

По умолчанию PHP-шные ошибки, вроде как, должны в апачевский error-лог выводиться. Если там ничего не найдете, то можете еще глянуть тему:
PHP 7.2.15 на Apache/2.4.38 (Ubuntu16.04.1+deb.sury.org+1) не ведёт логи

vinvlad ★★
()
Ответ на: комментарий от vinvlad

Ошибка в логах:

PHP Fatal error:  Call to a member function get() on a non-object in /var/www/engine/classes/engine.class.php on line 367
На что жалуется - */engine.class.php:
	public static function g ( $name )
	{
		global $m;
		$name = base64_encode($_SERVER[ 'HTTP_HOST' ]).'_'.$name;
		$time_before = api::get_real_time ();
		if ( self::$cache[ $name ] ) {
			$data = self::$cache[ $name ]; //На эту строку жалуется
		} else {
			$data = $m->get ( $name );
			self::$cache[ $name ] = $data;
		}

TimurSh
() автор топика
Ответ на: комментарий от TimurSh

судя по тексту сообщения ругань идет на строку:

$data = $m->get ( $name );

Скорее всего, глобальная переменная $m содержит чего-то не того.

С вашим php-движком сами разбирайтеcь (я, конечно, могу - но только за деньги). И это уже совсем другая песня - не для этого форума. Это в web-development. Но там вас, скорее всего, пошлют подальше - порекомендуют PHP-выучить :)

По части PHP вам сюда: http://php.net/manual/ru/

И еще, у вас в /index.php имеются обращения к базе данных - здесь у вас тоже могут возникнуть какие-то заморочки.

vinvlad ★★
()
Ответ на: комментарий от TimurSh

... если не получится разобраться своими силами, то в профиле есть мои координаты

vinvlad ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.