1chan engine

Материал из Колчевики
Перейти к навигации Перейти к поиску

Оригинальный движок сайта 1chan.ru. Умные пиздюки ставят его, внося правки, чтобы тот не ломался в два клика, тупые и ленивые аутисты ставят форк курвы, в котором, возможно, есть бэкдоры. Железных пруфов этому найдено не было, кроме нытья антивируса на evac.

Есть еще и движок сосмана, но про него нужна будет отдельная статья.

Движок ставить сложнее чем тот же инстант из коробки, но для тупых пиздюков на новом лентачке Фадерьма была записана инструкция для оригинального жилбидвигла. Только с редисом, чтобы не проебаться с нумерацией, хуй поймешь как работать.

Инструкция актуальна для ubuntu 22.04, на дебиане все без проблем должно быть.

Общая установка[править]

Уж думаю по ssh через root все зайдете

  1. Настроим собсна сам наш сервак: apt-get install ca-certificates apt-transport-https, sudo apt-get update, sudo apt-get upgrade
  2. Установим nginx простой командой: apt-get install nginx
  3. Установим mysql: apt-get install mysql-server
  4. Установим редис: apt-get install build-essential tcl redis-server
  5. Ну и гит для движка и говноплексора: sudo apt install git
  6. Далее начинается наш самый страшный шаг. Установка МЕРЗКОГО dklab_realplaxor'а.

Есть два способа - perl версия, что сделать легко или же ебаться с компиляцией версии на c++... Проблема perl версии в том, что она тестовая и выдержит 10-15 коннектов максимум. Но у пиздюков больше и не будет, так что можно оба.

Для начала заходим на сервер в папку opt: cd /opt/ и клонируем наш репозиторий: git clone https://github.com/DmitryKoterov/dklab_realplexor.git

  • Perl-версия.
  1. Тут все очень просто, сначала пишем cd /opt/dklab_realplexor/
  2. После пишем вот что: ./dklab_realplexor.pl. Программа пошлет вас нахуй, а если нет, значит повезло.
  3. Вводим команды:yum install gcc, perl -MCPAN -e "install EV", apt-get install gcc, perl -MCPAN -e "install EV". Какая-нибудь из них авось и сработает. После чего возвращаемся к пункту 2. Если показало без ошибок, просто жмем ctrl+c.
  4. Используем следущую команду: ln -s /opt/dklab_realplexor/dklab_realplexor.init /etc/init.d/dklab_realplexor
  5. И должно потом заработать: service dklab_realplexor reload
  • C++ версия.

По совету Святого Растия:

  1. ставь libboost-all-dev
  2. убери из cpp/Make.sh строчку $DEBUG -Wfatal-errors -Wall -Werror \
  3. после чего запусти этот самый bash ./Make.sh
  4. sudo update-rc.d dklab_realplexor enable (вместо start)
  5. /var/www/1chan.ca/app/classes/3rdparty/realplexor.class.php на 239 строке закамменти break
  6. После чего прописываем service dklab_realplexor reload

По инструкции из официального репозитория, не проверял.

  1. apt-get install gcc libboost1.48 libev4 libev-dev libmemcached-dev
  2. bash ./Make.sh
  3. service dklab_realplexor reload

Установка курвофорка[править]

Поясняю - капча курвофорка не пробита, он не ломается в два клика html тегами и онлайн-ссылками, починена кодировка, капча без ебливой латиницы, легче разворачивать. Впрочем, можно то же самое сделать и с оригинальным движком, в котором бэкдоров нет точно (хотя антивирус и там видит ебучий eval).

  1. cd /var/www/
  2. git clone https://gitgud.io/devarped/pierwszykanal
  3. mv ~/var/www/pierwszykanal/ ~/var/www/1chan/
  4. Создаем БД параши: mysql, CREATE DATABASE 1chan;, exit
  5. Вставляем туда первичный дамп: mysql -u root -p 1chan < /var/www/1chan/dump.sql
  6. ОЧЕНЬ ВАЖНЫЙ ШАГ, который многие пропускают - создание пользователя, ибо из-под рута без пароля может не подключится. Собсна: CREATE USER 'pizduck'@'localhost' IDENTIFIED BY '123';, GRANT ALL PRIVILEGES ON *.* TO 'pizduck'@'localhost';
  7. Ставим пыхепе, но нужной нам версии: sudo add-apt-repository ppa:ondrej/php -y, sudo apt update, sudo apt upgrade, sudo apt install php7.4-fpm php7.4-cli php7.4-common php7.4-curl php7.4-mbstring php7.4-mysql php7.4-xml php7.4-gd php7.4-zip php7.4-bcmath php7.4-redis
  8. Настроим собсна наш движок. Для начала переименуем файлы, согласно инструкции: cd /var/www/1chan/, mv instance-config.php.example instance-config.php, mv 1chan.conf.example 1chan.conf, cd /var/www/1chan/scripts/, mv cron.sh.example cron.sh.
  9. После нужно настроить сам конфиг. В этом главное преимущество курвофорка - не надо ебаться с кучей настроек, которые есть в оригинальном жилбидвигле. Открываем instance-config.php клавишей f4, проверьте в свойствах midnight commander, что текстовый редактор включен. Ну или же cd /var/www/1chan/, nano instance-config.php. В этом файле нам будут нужны всего 3 строчки, больше НЕ ТРОГАТЬ!!!!!!. Вот они: define('SQL_NAME', '<dbname>'); define('SQL_USER', '<username>'); define('SQL_PASSWORD', '<password>'); Вставляем соотвественно:
    define('SQL_NAME', '1chan'); define('SQL_USER', 'pizduck'); define('SQL_PASSWORD', '123');
  10. Аналогично открываем 1chan.conf и правим: sql_user = <DB_USER> sql_pass = <DB_PASSWORD> sql_db = <DB_NAME> на sql_user = pizduck sql_pass = 123 sql_db = 1chan
  11. Все изменения сохраняем.

Установка оригинального движка[править]

Данный движок устанавливать непросто и легко ломать, если вы пиздюк. Впрочем, его считают более надежным из-за отсутствия бэкдоров. Основные баги пофиксили как Раста, так и Пицух на последнем рабочем калчке - 1chan.top. Некоторые изначально, другие - позже, что приводило к проебу постов, третьи, как например торопиздюк Пинус, кодировку не меняли и разметку на их колчке рвали за сутки. В любом случае при установке лучше всего сменить кодировку с utf8 на utf8mb4. Это нужно сменить и в конфиге самого сайта - 1chan.conf. С другими проблемами разные админы справляются по-разному. Например, все тот же Пицух банально выключил онлайн ссылки и отключил (хз да или нет) разметку html тегами.

Лень переписывать инструкцию, пока берите ее тут

Завершение установки[править]

В обоих движках оно примерно одинаковое. Так что не вижу нужды расписывать.

1. Создаем наши конфиги, чтобы сайт мог их считать:

1.1 cd /etc/nginx/sites-available

1.2 nano 1chan.conf

1.3 Вставляем это, домен, собсна, ваш:

server {
	listen 80;
	server_name  1chan.it www.1chan.it;
	root /var/www/1chan/www;
	index index.php;
	client_max_body_size 5m;
	client_body_timeout 60;
location / {
     if (!-e $request_filename) {
         rewrite  ^(/.*)$  /index.php?q=$1  last;
         break;
     }
	location ~ \.php$ {
		fastcgi_pass unix:/var/run/php/php7.4(5.6)-fpm.sock;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
		include        fastcgi_params;
	}
 }

}

1.4 Далее, нам нужен конфиг говноплексора. Собсна пишем: nano oldmamontshit.conf

1.5 Вставляем туда:

 server {
     listen   80;
     server_name pipe.1chan.it;
 
     location / {
         proxy_pass http://127.0.0.1:8088;
         proxy_connect_timeout 15;
         proxy_read_timeout 90;
         proxy_send_timeout 90;
     }
 }

1.6 Создаём ссылки на конфиги, чтобы серверим начал их считывать: ln -s /etc/nginx/sites-available/1chan.conf /etc/nginx/sites-enabled/1chan.conf и для древнего говна - ln -s /etc/nginx/sites-available/oldmamontshit.conf /etc/nginx/sites-enabled/oldmamontshit.conf.

2. Перезагружаем все говно:

2.1 systemctl reload nginx

2.2 Есть два случая перезагрузки пхп говна:

  • Если ставили оригинальную собакобу: service php5.6-fpm restart
  • Если ставили курвофорк: service php7.4-fpm restart

2.3 Ну и древний кусок говна: service dklab_realplexor reload

3. Создаем админа из инструкции:

Вам необходимо отредактировать файл /app/controllers/admin.controller.php и закомментировать строки 14 и 15:

if (!$session -> isAdminSession())
        die($application -> go('errors_error403'));

Затем вы должны зайти на страницу /admin, в раздел "Модераторы" и добавить нового модератора с правами администратора:

   Имя | пароль | 0 | *

Где 0 означает "администратор", а "*" - "всех категорий". После этого создайте букмарклет:

   javascript:authorize("пароль");

И вызывайте его на страницах сайта, чтобы попасть в администраторскую, или вызвать скрипты модератора. Не забудьте отменить правки файла /app/controllers/admin.controller.php, чтобы закончить добавление учетной записи администратора.

4. Ну и самое ебанутое, что большинство пиздюков не умеют - создание ебучих поиска и форсометра.

4.1 Скачиваем древний кусок говна: sudo add-apt-repository ppa:builds/sphinxsearch-rel22, sudo apt-get update, sudo apt-get install sphinxsearch

4.2 Запускаем древний кусок говна: sudo service sphinxsearch start

4.3 Ну и под конец: indexer --config /var/www/1cha­n/1chan.conf --rotate --all, searchd --config /var/www/1cha­n/1chan.conf

Ваш личный калчок готов.