1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Обновление Denwer

Автор: Helmut · 25 янв 2019 ·
  1. Последняя версия Денвера вышла в 2011-м году. И с тех пор ничего лучше для виртуальных хостов так и не сделали. AMPP, XAMPP - дерьмо полное, OpenServer - малость получше, но все равно дерьмо. Денвер имеет одно принципиальное преимущество - при работе он создает виртуальный диск и эмулирует на нем юниксовую файловую систему. На практике это означает, что при заливке написанных на Перле программ на реальный сервер - не нужно каждый раз в каждом файле руками править пути.

    Разумеется, все то же самое можно сделать и настроить самому. Но нафига изобретать велосипед? Да и несмотря на древность Денвера он по прежнему актуален. Перл в нем заменяется на более новый элементарно - просто ставится поверх, а все остальное - работает и ладно. Но, с другой стороны, а почему бы разок не потратить время и полностью не пересобрать Денвер, заменив в нем на свежие версии вообще все? Просто, чтоб было. Мало ли что. Разумеется, нам нужен вариант на 100% portable.

    Итак. При установке Денвера по очевидным причинам лучше выбирать тип установки 2 - с созданием виртуального диска при запуске денвера.
    Порядковая буква виртуального диска хранится в /denver/CONFIGURATION.txt (параметр subst_drive), там его в любой момент можно изменить.

    Если нам не нужен эмулятор SMTP, его можно отключить, убрав из /denwer/scripts/main в подпапках start, stop и restart скрипт 35_sendmail. Лучше не удалять, а куда-нибудь перенести, например, в созданную там же подпапку disabled с соответствующими путями. Вдруг нам когда-нибудь все-таки придется писать почтовые утилиты.

    VC15
    Download Microsoft Visual C++ 2015 Redistributable Update 3 from Official Microsoft Download Center
    Вообще, не обязательно. Но для лучшей мобильности и универсальности лучше добавить.
    Создаем папку /usr/local/vcredist и копируем туда DLL-ки.
    Открываем /denwer/scripts/init.d/apache.pl и после объявления массива my @addPath = () добавляем
    Код:
    $ENV{'PATH'} = '\usr\local\vcredist;' . $ENV{'PATH'};
    
    Там же, в хэше StartManager::action PATH => [] тоже добавляем путь (в начало)
    '\usr\local\vcredist',
    Заодно исправим там же в блоке
    Код:
    if (my $p = fsgrep { /^openssl.cnf$/i } $phpdir) {
       $ENV{OPENSSL_CONF} = $p;
    }
    
    меняем команду на
    Код:
    $ENV{OPENSSL_CONF} = Installer::getSubstDriveConfig() . $p;
    
    MySQL
    MySQL :: Download MySQL Community Server
    В файле /denwer/CONFIGURATION.txt указываем новое имя папки mysql (mysql-5.7).
    в /usr/local/mysql-5.7 тупо распаковываем zip-версию mysql-5.7.25-win32.zip
    из старой mysql-5.5 копируем mysql.ini, правим там пути и меняем дефолтную кодировку на utf8. В раздел [mysqld] добавляем параметр explicit_defaults_for_timestamp = 1.
    Папку lib с целым гигом dll-ок можно грохнуть для экономии места, вряд ли мы соберемся что-нибудь из них компилировать.
    Запускаем денвер, запускаем cmd, переходим на виртуальный диск в /usr/local/mysql-5.7/bin и выполняем команду
    Код:
    mysqld --initialize-insecure --console
    
    Выключаем денвер и закрываем cmd.

    Perl
    http://downloads.activestate.com/ActivePerl/releases/
    Самое главное. В последней версии Денвера стоит 5.8, которая умеет работать с юникодом только анально. Моя любимая на сегодняшний день - Active Perl 5.24. Качаем ее и ставим в /usr/local/perl, переименовав или удалив старый. Проблема: установщик Active Perl ставит только версию той разрядности, которая совпадает с осью. Если нам нужна версия x86 (например, для большей мобильности и универсальности), придется найти комп с вынь32, поставить Перл туда, а потом скопировать. Папку html с мануалами удаляем нафиг, мы это все и так давно знаем.
    Для начала запускаем PPM и ставим компилятор MinGW. Непонятно, почему он не входит по умолчанию в комплект Active Perl.
    Запускаем cpan и обновляем его - "install CPAN". Там же обновляем LWP::UserAgent.
    Возвращаемся в PPM и первым делом обновляем CGI и DBI. Дальше ставим DBD::mysql. Тоже не понятно, почему его нет по умолчанию. Говорят, что-то там из-за лицензий посрались. Ставить/обновлять библиотеки лучше по одной, иначе при любой ошибке остановится весь список и будет не особо понятно, на которой из них сглючило.
    Теперь ставим/обновляем библиотеки, которые мне точно понадобятся:
    Switch
    Encode
    JSON::XS
    WWW::Curl
    Net::Ping
    Date::Calc
    URI::Encode
    Time::Local
    Data::Types
    CGI::Session
    Scalar::Util
    Digest::SHA1
    Spreadsheet::WriteExcel
    (Примечание: Scalar::Util - в PPM называется Scalar-List-Utils).

    Apache
    Apache Haus Downloads
    Далее надо заменить апач. Так бы и фиг с ним, он и так работает. Но без апача мы не сможем заменить PHP на более новый.
    ПХП вообще-то тоже нахрен не нужен, но вот phpMyAdmin - удобный инструмент для работы с MySQL, а в последней версии денвера он корявенький. Но без нового ПХП его не поменять. Короче, придется идти по цепочке. Начнем с апача.
    Переименовываем /usr/local/apache во что-нибудь другое, создаем новую папку с таким же именем, качаем туда и распаковываем httpd-2.4.38-x86-vc11.zip.
    Из старого апача копируем bin/TrayApache.exe и bin/Apache.ico. Папки htdocs, include, lib можно удалить.
    Дальше нужно долго и нудно править конфиги, но это описание займет простыню текста, поэтому проще сохранить готовый конфиг апача 2.4 для денвера. Сохраню его здесь, благо ничего не весит. Да и остальные конфиги туда добавлю.

    PHP
    PHP For Windows: Binaries and sources Releases
    Короче, качаем php-7.3.1-Win32-VC15-x86.zip и распаковываем в /usr/local/php7.
    Далее, лезем в /usr/local/apache/conf/httpd.conf, находим строку
    LoadModule php5_module "/usr/local/php5/php5apache2_2.dll"
    и меняем ее на
    LoadModule php7_module "/usr/local/php7/php7apache2_4.dll"
    Папки php4 и php5 можно грохнуть. В php7 файл php.ini-development переименовываем в php.ini.
    В php.ini раскомментируем строки и приводим их в соответствующий вид:
    Код:
    extension_dir = "ext"
    upload_tmp_dir = /tmp
    extension=bz2
    extension=curl
    extension=gd2
    extension=mbstring
    extension=mysqli
    extension=pdo_mysql
    extension=soap
    extension=sqlite3
    extension=xsl
    session.save_path = /tmp
    session.gc_maxlifetime = 86400
    
    Если phpMyAdmin начнет ругаться на ошибку session_start(), пишем
    session.save_path = "../../../../tmp"

    phpMyAdmin
    Downloads
    Грохаем старый, папку phpmyadmin переносим из /home/localhost/www/tools в /home/localhost/www. Чтобы путь был стандартным для серваков.
    Остальное в localhost тоже удаляем, оставляем только cgi-bin и phpmyadmin в www. Другие тестовые поддомены тоже удаляем. Cgi-glob в корне оставим, он нужен. Создаем для начала себе рабочий поддомен work (можно без .ru), в нем - cgi-bin (вместо cgi, тоже для стандартизации путей) и www.
    Распаковываем в phpmyadmin свежескачанную софтину. Находим файл config.sample.inc.php и копируем его в config.inc.php. Открываем его дописываем в раздел
    Код:
    /* Authentication type */
    $cfg['LoginCookieValidity'] = 86400;
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = '';
    
    чуть ниже меняем
    Код:
    $cfg['Servers'][$i]['host'] = '127.0.0.1';
    $cfg['Servers'][$i]['AllowNoPassword'] = true;
    
    Запускаем Denwer. Открываем phpMyAdmin (http://localhost/phpmyadmin/). Где-то внизу он скромненько так намекнет, что хранилище конфигурации не полностью настроено. Разрешаем ему создать базу под названием "phpmyadmin". Вроде все. Пакет весьма потяжелел, так что, если мы хотим работать с флэшки, флешка понадобится потолще. Но в наше время это не проблема.

    Вложения:

    • conf.7z
      Размер файла:
      66,5 КБ
      Просмотров:
      103
    ThisSuXX, Gamerun и kreol нравится это.

Комментарии

Чтобы оставить комментарий просто зарегистрируйтесь и станьте участником!
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление