Если вы какой-либо разработчик, вы, вероятно, слышали о Pastebin.com, наиболее широко используемом веб-приложении для вставки и обмена фрагментами текста. Pastebin.com великолепен, но это не единственный инструмент для вставки.
На самом деле, веб-сайты все чаще размещают собственные папки для вставки. Это дает вам больше свободы. Существует множество реализаций вставки с открытым исходным кодом, и Stikked — одна из наиболее полезных благодаря расширенным функциям и оптимизированному пользовательскому интерфейсу.
Застрял создан на основе PHP и jQuery и использует платформу CodeIgniter.
Установка застрявшего
Stikked требует, чтобы ваш сервер был запущен:
- Git
- Нгинкс
- Docker и Docker Compose
- Чтобы загрузить последнюю версию Stikked, посетите страницу Stikked GitHub или перейдите в командную строку и выполните:
git clone https://github.com/claudehohl/Stikked.git
- Перейти в
Contents
Установка застрявшего
>cd ./Stikked
- Откройте файл «docker-compose.yml» внутри вашего любимого текстового редактора.
- Прокрутите до переменной «ports:» в категории «services:» и измените ее значение на следующее:
ports: - 8080:80/tcp
- Прокрутите до категории «mysql:» и замените подкатегорию «command:» следующим кодом:
command: mysqld
- Откройте основной файл конфигурации Stikked:
nano ~/Stikked/docker/stikked.php
- Перейдите к строке, содержащей переменную
$config['base_url']
, и замените «localhost» на полное доменное имя вашей системы. Сохраните и выйдите из файла.
- Откройте файл «nginx.conf» внутри контейнера Stikked:
nano ~/Stikked/docker/nginx.conf
- Удалите три строки под надписью «Разрешены только запросы к нашему хосту».
- Создайте контейнер Docker, выполнив следующую команду:
docker compose up -d
К вашему сведению: узнайте, как разместите свою собственную доску Канбан в Linux использовать Docker и Kanboard.
Создание обратного прокси-сервера SSL Nginx
Теперь у вас есть установка Stikked, работающая на порту 8080. Хотя вы можете использовать ее как есть, базовый контейнер Stikked может быть небезопасным, поскольку по умолчанию он не шифрует свое соединение. Чтобы это исправить, вам нужно создать обратный прокси , который может прослушивать входящие соединения, которые затем шифруются с помощью SSL.
- Создайте новый файл конфигурации сайта в папке «/etc/nginx/sites-available/»
sudo nano /etc/nginx/sites-available/stikked
- Вставьте следующий код в новый файл сайта. Это простой обратный прокси-сервер, который прослушивает входящие незашифрованные соединения через порт 80 и перенаправляет все запросы на порт 8080.
server { listen 80; listen [::]:80; root /var/www/html; server_name my-stikked-installation.com; location / { proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_pass http://localhost:8080; } }
Создание обратного прокси-сервера SSL Nginx
ntent/uploads/2024/05/install-stikked-linux-07-sample-nginx-reverse-proxy.png" alt="Терминал, показывающий пример конфигурации обратного прокси-сервера Nginx.">- Создайте символическую ссылку на файл вашего сайта внутри «/etc/nginx/sites-enabled» и удалите из нее файл сайта по умолчанию:
sudo ln -s /etc/nginx/sites-available/stikked /etc/nginx/sites-enabled/
- Проверьте конфигурацию Nginx на наличие ошибок, затем включите службу Nginx через
systemctl
:
sudo nginx -t sudo systemctl reload nginx.service
Установка SSL-сертификата
Когда обратный прокси-сервер запущен и работает, вы можете запросить сертификат SSL для своего экземпляра Stikked. Самый простой вариант — установить пакет оснастки certbot от Electronic Frontier Foundation.
- Убедитесь, что ваши основные двоичные файлы Snap обновлены и работают:
sudo snap install core sudo snap refresh core
- Установите certbot, используя двоичный файл Snap вашей машины Stikked:
sudo snap install certbot --classic
<ол старт="3">
sudo certbot register --agree-tos -m ramces@email.invalid
- Запустите certbot еще раз, чтобы создать сертификат SSL для вашего экземпляра Stikked:
sudo certbot --nginx -d my-stikked-installation.com
- Откройте веб-браузер и проверьте, работает ли ваш экземпляр Stikked по протоколу SSL.
Полезно знать: узнайте, как работает шифрование в Интернете, к выдача собственного SSL-сертификата через OpenSSL .
Стилизация закрепленной установки
Все данные стиля находятся в каталоге «themes» в каталоге «htdocs» вашего репозитория Git. Для интереса загляните в подкаталог и увидите несколько интересных вариантов.
- Зайдите в репозиторий Stikked Git и перейдите в каталог «htdocs/themes».
cd ~/Stikked/htdocs/Установка SSL-сертификата
>
- Чтобы изменить внешний вид вашего экземпляра, вам необходимо сначала закрыть контейнер Docker:
docker compose down
- Откройте основной файл конфигурации вашего экземпляра с помощью любимого текстового редактора:
nano ~/Stikked/docker/stikked.php
- Прокрутите вниз до строки, содержащей переменную
$config['theme']
, и измените ее значение на «cleanwhite».
- Сохраните основной файл конфигурации и перезагрузите контейнер Docker:
docker compose up -d
- Откройте веб-браузер и загрузите новую веб-страницу. Вот моя страница «Создать» после загрузки темы cleanwhite.
Функции
Stikked имеет ряд интересных функций, которые выделяют его среди других скриптов Pastebin.
Во-первых, он предлагает широкий спектр возможностей подсветки синтаксиса. Stikked поддерживает огромный список языков программирования и сценариев, от C до Bash. Что бы вы ни писали, установка Stikked поможет вам.
Язык каждого фрагмента отображается в таблице на странице «Последние». если на постере не указан язык вставки, то он помечен как «текст». В таблице также отображаются заголовок, имя автора и давность, а также значок RSS. RSS-канал находится по адресу your-stikked-installation.com/lists/rss.
Страница «Тенденции» практически идентична, но с добавлением столбца «Хиты» и отсутствием RSS-канала. Обращения рассчитываются на основе посещений с уникальных IP-адресов.
При создании вставки у вас есть возможность установить дату истечения срока действия, создать короткий URL-адрес с помощью службы bit.ly и/или сделать публикацию частной. Обратите внимание, что «частная» вставка не является действительно частной; любой пользователь, у которого есть URL-адрес вставки, может его увидеть, если только вы не включили аутентификацию LDAP — в этом случае его сможет увидеть каждый зарегистрированный пользователь с URL-адресом. «Частный» означает только то, что сообщение не будет отображаться на страницах «Последние» и «В тренде».
Помимо безопасности, Stikked предоставляет несколько полезных утилит для просмотра вставки. Мне особенно понравился код для встраивания.
Вы также можете отвечать на вставки и добавлять свои собственные изменения из формы под исходной вставкой. Единственным недостатком этого является то, что ответы не ссылаются на исходное сообщение; Если в вашей вставке много разных сообщений и ответов, написанных в разное время, легко потерять их структуру. Я могу только надеяться, что разработчик в какой-то момент представит цепочки ответов.
Последняя функция — это контроль спама, который Стиккед называет «спам-админ». Настройте его, введя учетные данные в «docker/stikked.php» в строках 79 и 80:
$config['spamadmin_user'] = 'stikked'; $config['spamadmin_pass'] = 'stikked';
Перейдите на страницу your-stikked-installation.com/spamadmin, чтобы войти в систему. Там вы можете увидеть, какие вставки поступили с каких IP-адресов, удалить вставки и заблокировать диапазоны IP-адресов.
API
API Stikked позволяет вставлять в него данные из клиентов Pastebin. URL-адрес API, который будет использоваться в вашем клиенте: your-stikked-installation.com/api/create.
Простой пример — использование команды cURL для загрузки файла с именем «smalltalk.st», установка заголовка, имени, конфиденциальности, языка и срока действия в минутах:
curl -d title='cURL test' -d name='Ramces' -d private=1 -d lang=c -d expire=45 --data-urlencode text@count.c https://my-stikked-installation.com/api/create
Это вернет URL-адрес вставки.
Если вам нужен простой способ собирать и публиковать фрагменты текста на своем веб-сайте, я рекомендую вам попробовать Stikked.
В связи с этим один из способов быстро получить фрагменты текста, которыми можно поделиться, — это изучить новый язык программирования. Узнайте, как писать сценарии Bash, изучив раздел простое руководство для новичков . Вы также можете расширить эти знания, прочитав наши глубокое погружение в переменные Bash и их использование .
Изображение предоставлено: Кристофер Гауэр через Unsplash . Все изменения и скриншоты Рамсеса Реда.