Как установить Polr Link Shortener на Debian 10
На этой странице
- Предпосылки
- Начало работы
- Установить сервер LAMP
- Настройка базы данных MariaDB
- Установить Композитор
- Установить Polr
- Настройка Apache для Polr
- Доступ к веб-интерфейсу Polr
- Безопасный опрос с помощью Lets Encrypt Free SSL
- Заключение
Polr — это бесплатный сокращатель URL-адресов с открытым исходным кодом, который позволяет вам размещать собственный сокращатель ссылок. Он написан на PHP и Lumen и использует MariaDB для хранения своих данных. С Polr вы можете создавать новые ссылки или искать существующие ссылки, не нарушая существующий код.
В этом руководстве мы покажем вам, как установить программное обеспечение Polr Link Shortener на сервер Debian 10.
Предпосылки
- Сервер под управлением Debian 10.
- Действительное доменное имя, указанное с IP-адресом вашего сервера. в этом уроке мы будем использовать домен polr.example.com.
- На вашем сервере настроен пароль root.
Начиная
Перед запуском рекомендуется обновить систему до последней версии. Вы можете обновить свою систему с помощью следующей команды:
apt-get update -y
apt-get upgrade -y
После обновления системы перезапустите ее, чтобы изменения вступили в силу.
Установить LAMP-сервер
Во-первых, вам нужно будет установить веб-сервер Apache, сервер MariaDB, PHP и другие пакеты в вашей системе. Вы можете установить их все, используя следующую команду:
apt-get install apache2 mariadb-server libapache2-mod-php php php-pdo php-mysql php-mbstring php-tokenizer php-json php-curl git wget unzip -y
После установки всех пакетов запустите службы Apache и MariaDB и разрешите их запуск после перезагрузки системы.
systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb
Как только вы закончите, вы можете перейти к следующему шагу.
Настроить базу данных MariaDB
По умолчанию корневой пароль MariaDB не настроен в Debian 10. Поэтому вам нужно сначала установить его.
Для этого войдите в оболочку MariaDB с помощью следующей команды:
mysql
После входа в систему установите корневой пароль MariaDB с помощью следующей команды:
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");
Затем создайте базу данных и пользователя для Polr с помощью следующей команды:
MariaDB [(none)]> CREATE DATABASE polrdb;
MariaDB [(none)]> GRANT ALL ON polrdb.* TO 'polr' IDENTIFIED BY 'password';
Затем сбросьте привилегии и выйдите из оболочки MariaDB с помощью следующей команды:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Как только вы закончите, вы можете перейти к следующему шагу.
Установить Композитор
Далее вам нужно будет установить Composer в вашей системе. Composer — это менеджер зависимостей для PHP, используемый для установки всех зависимостей PHP для вашего проекта.
Сначала загрузите Composer с помощью следующей команды:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Далее вам нужно будет проверить целостность данных загруженного скрипта, сравнив хэш SHA-384 скрипта с последним хэшем.
Для этого загрузите сигнатуру последней версии установщика Composer из репозитория Git и сохраните ее в переменной с именем HASH:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Затем проверьте сценарий установки с помощью следующей команды:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Если хэши совпадают, вы увидите следующий вывод:
Installer verified
Наконец, установите Composer с помощью следующей команды:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
После завершения установки вы должны увидеть следующий вывод:
All settings correct for using Composer Downloading... Composer (version 1.9.2) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Как только вы закончите, вы можете перейти к следующему шагу.
Установить Полр
Сначала загрузите последнюю версию Polr из репозитория Git в корневой веб-каталог Apache:
cd /var/www/html
git clone https://github.com/cydrobolt/polr.git --depth=1
После загрузки измените каталог на polr и установите все необходимые зависимости с помощью следующей команды:
cd polr
composer install --no-dev -o
Затем включите веб-установщик, переименовав следующий файл:
mv .env.setup .env
Затем предоставьте соответствующие разрешения каталогу polr, как показано ниже:
chown -R www-data:www-data /var/www/html/polr/
chmod -R 755 /var/www/html/polr/
Как только вы закончите, вы можете перейти к следующему шагу.
Настройте Apache для Polr
Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для Polr. Вы можете создать его с помощью следующей команды:
nano /etc/apache2/sites-available/polr.conf
Добавьте следующие строки:
<VirtualHost *:80> ServerAdmin DocumentRoot /var/www/html/polr/public ServerName polr.example.com <Directory /var/www/html/polr/public/> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/polr_error.log CustomLog ${APACHE_LOG_DIR}/polr_access.log combined </VirtualHost>
Сохраните и закройте файл, когда закончите. Затем включите файл виртуального хоста Apache и перепишите модуль с помощью следующей команды:
a2ensite polr.conf
a2enmod rewrite
Наконец, перезапустите службу Apache, чтобы изменения вступили в силу:
systemctl restart apache2
На данный момент Polr установлен и настроен. Теперь вы можете перейти к следующему шагу.
Доступ к веб-интерфейсу Polr
Теперь откройте веб-браузер и введите URL-адрес http://polr.example.com. Вы будете перенаправлены к мастеру настройки Polr, как показано ниже:
Укажите информацию о своей базе данных, настройках приложения, настройках учетной записи администратора и нажмите кнопку «Установить». После завершения установки вы должны увидеть следующую страницу:
Нажмите на кнопку входа. Вы будете перенаправлены на страницу входа в Polr:
Введите имя пользователя и пароль администратора и нажмите кнопку ВХОД. Вы должны увидеть следующую страницу:
Теперь нажмите ADMIN => DASHBOARD в правом верхнем углу. Вы должны увидеть панель управления Polr на следующей странице:
Безопасный опрос с Lets Encrypt Free SSL
Во-первых, вам нужно будет установить клиент Certbot Lets Encrypt, чтобы загрузить и установить сертификат SSL для вашего домена.
Вы можете установить его с помощью следующей команды:
apt-get install python-certbot-apache -y
После установки вы можете запустить следующую команду, чтобы установить сертификат Lets Encrypt для вашего домена polr.example.com.
certbot --apache -d polr.example.com
Во время установки вам будет предложено указать свой адрес электронной почты и принять условия обслуживания, как показано ниже:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for polr.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/polr-le-ssl.conf Deploying Certificate to VirtualHost /etc/apache2/sites-available/polr-le-ssl.conf Enabling available site: /etc/apache2/sites-available/polr-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Затем введите 2 и нажмите Enter, чтобы загрузить и установить бесплатный SSL-сертификат для вашего домена. После успешного завершения установки. Вы должны получить следующий результат:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/polr.conf to ssl vhost in /etc/apache2/sites-available/ polr-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://polr.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=polr.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Теперь ваш сайт Polr защищен бесплатным SSL от Lets Encrypt. Вы можете получить к нему доступ, используя URL-адрес https://polr.example.com.
Заключение
Поздравляем! вы успешно установили Polr на сервер Debian 10 и защитили его с помощью Lets Encrypt SSL. Теперь вы можете разместить свой собственный сокращатель ссылок с помощью веб-интерфейса Polr. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.