Giter Site home page Giter Site logo

rish's Introduction

RISH – Robust Internet Server Host

SSH Web-server control panel

appletouch

SSH панель конфигурации и установки web сервера

Официальный сайт RISH https://rish.su

Протестировано на AlmaLinux 8,9 (CentOS 8), Rocky Linux и Fedora

  • http/2
  • gzip and brotli компрессия
  • mpm event для apache
  • MariaDB 10.6 или MariaDB 10.11
  • Система не устанавливает никаких дополнительных сервисов и не расходует попусту ресурсов сервера
  • Все актуальные версии PHP начиная с 7.4 (список держится в актуальном состоянии)
  • Есть возможность установки Joomla
  • Есть возможность выбора версии PHP для каждого сайта на сервере

Команда установки

Предпочтительная команда установки с основного сервера:

curl -L get.rish.su | sh && /root/rish/ri.sh

Если у вас блокируется установка с серверов РФ – воспользуйтесь альтернативным адресом. Установка произойдет с серверов github. Альтернативная команда установки:

curl -L getrish.sovmart.com | sh && /root/rish/ri.sh

Внимание! Запускать скрипт надо от root!

Возможно, что в минимальной установке CentOS будет отсутствовать команда curl и ее понадобится установить отдельно:

yum install curl

rish's People

Contributors

cb9toiiia avatar kernusr avatar progreccor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

rish's Issues

При создании бэкапа на удаленном сервере разносить бэкапы сайтов по пользователям

Сейчас на удаленном сервере создаются бэкапы по следующему пути: /date/
Это нормально, если на сервере только один пользователь.
Предлагаю создавать бэкапы по пути: /user/date/
Это облегчит предоставление доступа конечному пользователю на уровне облака

Косяки с выводом текста

При создании пользователя печатает вот такое сообщение
Если вы не укажете имя сейчас - оно будет создано автоматически. Изменить его можно будет в файле \033[0;32m/home/webmaster/.pass.txt\033[0m

upload_tmp_dir для каждого пользователя

При использовании Joomla + rish стало надоедать предупреждение "В конфигурации PHP не определен каталог временных файлов"

изображение

Собственно, проблема в том, что у php явно не задан путь для upload_tmp_dir

Предлагаю, на ровне с созданием папок пользователя

rish/ri.sh

Lines 326 to 328 in 1cfe473

mkdir /var/www/${NAME}/session
mkdir /var/www/${NAME}/wsdlcache
mkdir /var/www/${NAME}/slowlog

  1. создавать папку
mkdir /var/www/${NAME}/tmp
  1. настраивать её владельца
chown ${NAME}:${NAME} /var/www/${NAME}/tmp
  1. прописывать её в конфигурационный файл пулла php-fpm, при создании сайта

    rish/create_site.sh

    Lines 160 to 161 in 1cfe473

    echo "php_value[session.save_handler] = files"
    echo "php_value[session.save_path] = /var/www/${username}/session"
echo "php_value[upload_tmp_dir] = /var/www/${username}/tmp"

Заменить restart на reload, там где это не критично

Неприятная такая вещь происходит с downtime сайтов, на серверах, работающих под нагрузкой.

Такие операции, как создание/удаление хоста или получение/отзыв сертификата перезапускают апач командой apachectl restart. Эта команда должна полностью выгрузить из памяти всю информацию о запущенных процессах, закрыть активные соединения, сбросить накопившееся в лог. На серверах, с большой посещаемостью, это приводит к тому, что апач прекращает принимать новые соединения от пользователей, но продолжает обрабатывать все текущие (те, которые были поставленны в очередь, до перезагрузки). Если соединений много, то выполнение команды apachectl restart может затянуться на 2 минуты и больше (в это время на сервере будут недоступны абсолютно все сайты). Такое поведение недопустимо.
Операции создания/изменения/удаления хостов требуют всего лишь перечитать конфигурационные файлы (без полной выгрузки всех модулей из памяти). Апач, под управлением systemd, умеет это делать "на лету", без сброса текущих соединений и простоя. Для такой "перезапуска" нужно выполнить команду systemctl reload httpd.

Предлагаю сделать это во всех местах, где полная перезагрузка службы не требуется

Оставлять оригинал скачанного бэкапа при клонировании

При клонировании сайта на локальный сервер, после успешного клонирования, спрашивать "Оставить бэкап?". Если ответил да, то не удалять его. И написать где он лежит.
Для чего?
Часто, сразу после успешного клонирования, приступаешь к правкам. И если накосячил, то приходится заново клонировать сайт. Было бы проще, если бы бэкап сразу был под рукой.

Предусмотреть возможность автоматического исключения сайта из backup_list_all

Предлагаю добавить признак для исключения сайта при формировании backup_list_all
Например, в корне сайта создается пустой файл .nobackup, и скрипт, при обнаружении такого файла не будет добавлять его в backup_list_all для следующего резервирования.
Также можно вынести создание этого файла в меню (как на добавление, так и на удаление)
P.S.:
В дальнейшем, можно будет рассмотреть расширения этой функции для исключения папок из архива (или их содержимого)
Но, это уже совсем другой функционал)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.