Paste 2.1 - это простое и гибкое бесплатное приложение с открытым исходным кодом для хранения кода, текста и многого другого. Первоначально он был разветвлен из свободно доступного исходного кода, используемого pastebin.com до того, как домен был продан в 2010 году. С того времени разработчики Paste добавили множество улучшений и функций, таких как многофункциональная панель администратора с статистикой и настройками сайта, IP-адреса и запреты пользователей, возможность выборочного удаления вставок, учетные записи пользователей с социальной интеграцией, страницы профилей и все обычные функции, такие как подсветка синтаксиса для большинства языков, настраиваемые пределы вставок и многое другое.
В этом руководстве мы собираемся установить Paste 2.1 на Ubuntu 16.04 LAMP VPS, используя веб-сервер Apache, PHP 7.0 и базу данных MariaDB.
Предпосылки
- Чистый экземпляр сервера Vultr Ubuntu 16.04 с доступом по SSH
Шаг 1: Добавить пользователя Sudo
Мы начнем с добавления нового sudoпользователя.
Сначала войдите на свой сервер как root:
ssh root@YOUR_VULTR_IP_ADDRESS
Добавьте нового пользователя с именем user1(или предпочитаемое имя пользователя):
adduser user1
При появлении запроса введите безопасный и запоминающийся пароль. Вам также будет предложено ввести ваше «Полное имя» и некоторые другие детали, но вы можете просто оставить их пустыми, нажав Enter.
Теперь проверьте /etc/sudoersфайл, чтобы убедиться, что sudoersгруппа включена:
visudo
Посмотрите на раздел, как это:
%sudo ALL=(ALL:ALL) ALL
Эта строка говорит нам, что пользователи, которые являются членами sudoгруппы, могут использовать sudoкоманду для получения rootпривилегий. По умолчанию он не комментируется, поэтому вы можете просто выйти из файла.
Далее нам нужно добавить user1в sudoгруппу:
usermod -aG sudo user1
Мы можем проверить user1членство в группе и убедиться, что usermodкоманда работала с groupsкомандой:
groups user1
Теперь используйте suкоманду для переключения на новую user1учетную запись пользователя sudo :
su - user1
Командная строка обновится, чтобы указать, что вы вошли в user1учетную запись. Вы можете проверить это с помощью whoamiкоманды:
whoami
Теперь перезапустите sshdслужбу, чтобы вы могли войти через sshновую учетную запись пользователя sudo без полномочий root:
sudo systemctl restart sshd
Выход из user1аккаунта:
exit
Выйдите из rootучетной записи (которая отключит ваш sshсеанс):
exit
Теперь вы можете sshвойти в экземпляр сервера с локального хоста, используя новую user1учетную запись пользователя sudo без полномочий root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Если вы хотите выполнить sudo без необходимости каждый раз вводить пароль, затем /etc/sudoersснова откройте файл, используя visudo:
sudo visudo
Отредактируйте раздел для sudoгруппы так, чтобы он выглядел так:
%sudo ALL=(ALL) NOPASSWD: ALL
Обратите внимание: отключение требования к паролю для пользователя sudo не рекомендуется, но оно включено здесь, поскольку это может сделать настройку сервера гораздо более удобной и менее раздражающей, особенно во время более длительных сеансов системного администрирования. Если вас беспокоят последствия для безопасности, вы всегда можете вернуть изменение конфигурации к исходному после завершения задач администрирования.
Всякий раз, когда вы хотите войти в rootучетную запись пользователя из sudoучетной записи пользователя, вы можете использовать одну из следующих команд:
sudo -i
sudo su -
Вы можете выйти из rootучетной записи и вернуться к своей sudoучетной записи в любое время, просто набрав:
exit
Шаг 2: Обновите систему Ubuntu 16.04
Перед установкой каких-либо пакетов на экземпляр сервера Ubuntu мы сначала обновим систему.
Убедитесь, что вы вошли на сервер с помощью пользователя sudo без полномочий root и выполните следующие команды:
sudo apt-get update
sudo apt-get -y upgrade
Шаг 3: Установите веб-сервер Apache
Установите веб-сервер Apache:
sudo apt-get -y install apache2
Затем используйте systemctlкоманду для запуска и включения автоматического запуска Apache во время загрузки:
sudo systemctl enable apache2
sudo systemctl start apache2
Проверьте файл конфигурации сайта Apache по умолчанию, чтобы убедиться, что DocumentRootдиректива указывает на правильный каталог:
sudo vi /etc/apache2/sites-enabled/000-default.conf
Опция DocumentRootконфигурации будет выглядеть так:
DocumentRoot "/var/www/html"
Теперь нам нужно включить mod_rewriteмодуль Apache, поэтому убедитесь, что файл конфигурации вашего сайта Apache по умолчанию все еще открыт, и добавьте следующие Directoryдирективы Apache непосредственно перед закрывающим </VirtualHost>тегом, чтобы конец вашего файла конфигурации выглядел следующим образом:
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Наиболее важная директива, показанная выше AllowOverride All.
Теперь сохраните и закройте файл и включите mod_rewriteмодуль Apache:
sudo a2enmod rewrite
Мы перезапустим Apache в конце этого руководства, но регулярный перезапуск Apache во время установки и настройки, безусловно, является хорошей привычкой, поэтому давайте сделаем это сейчас:
sudo systemctl restart apache2
Шаг 4: Установите PHP 7.0
Теперь мы можем установить PHP 7.0 вместе со всеми необходимыми модулями PHP, необходимыми для приложения Paste:
sudo apt-get -y install php php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-tidy php-zip
Шаг 5: Установите MySQL Server
Установите сервер базы данных MySQL:
sudo apt-get -y install mysql-server
Во время установки сервера MySQL обязательно введите безопасный пароль для rootпользователя MySQL . Этот rootпользователь отличается от rootпользователя в Ubuntu, поскольку он используется только для подключения к серверу базы данных с полными привилегиями.
Запустите и включите сервер MySQL для автоматического запуска во время загрузки:
sudo systemctl enable mysql
sudo systemctl start mysql
Защитите свой сервер MySQL от установки:
sudo mysql_secure_installation
При появлении запроса введите пароль, который вы создали для rootпользователя MYSQL во время установки. Просто ответьте «Y» на все остальные вопросы «да / нет», так как предложения по умолчанию являются наиболее безопасными.
Шаг 6: Создать базу данных для вставки
Войдите в оболочку MySQL как rootпользователь MySQL , выполнив следующую команду:
sudo mysql -u root -p
Чтобы получить доступ к командной строке MySQL, просто введите rootпароль MySQL при появлении запроса.
Выполните следующие запросы, чтобы создать базу данных MySQL и пользователя базы данных для вставки:
CREATE DATABASE paste_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'paste_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON paste_db.* TO 'paste_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Вы можете заменить имя базы данных paste_dbи имя пользователя paste_userна что-то более по своему вкусу, если хотите. Также убедитесь, что вы заменили «UltraSecurePassword» на действительно надежный пароль.
Шаг 7: Установите Paste Files
Измените ваш текущий рабочий каталог на веб-каталог по умолчанию:
cd /var/www/html/
Если вы получаете сообщение об ошибке, говорящее что-то вроде 'No such file or directory'этого, попробуйте следующую команду:
cd /var/www/ ; sudo mkdir html ; cd html
Ваш текущий рабочий каталог теперь будет: /var/www/html/. Вы можете проверить это с помощью команды pwd(напечатать рабочий каталог):
pwd
Теперь используйте wgetдля загрузки установочного пакета Paste:
sudo wget --content-disposition https://sourceforge.net/projects/phpaste/files/latest/download?source=files
Обратите внимание: Вы обязательно должны проверить самую последнюю версию, посетив страницу загрузки Вставить .
Перечислите текущий каталог, чтобы убедиться, что вы успешно загрузили файл:
ls -la
Удалить index.html:
sudo rm index.html
Давайте быстро установим, unzipчтобы распаковать файл:
sudo apt-get -y install unzip
Теперь распакуйте архив zip:
sudo unzip paste-2.1.zip
Измените владельца веб-файлов, чтобы избежать проблем с разрешениями:
sudo chown -R www-data:www-data * ./
Перезапустите Apache снова:
sudo systemctl restart apache2
Теперь мы готовы перейти к последнему этапу.
Шаг 8: Завершите установку пасты
Пришло время посетить IP-адрес вашего экземпляра сервера в вашем браузере, или, если вы уже настроили свои настройки Vultr DNS (и дали достаточно времени для распространения), вы можете просто зайти на свой домен.
Чтобы получить доступ к странице установки Paste, введите свой IP-адрес экземпляра Vultr в адресную строку браузера, а затем /install/:
http://YOUR_VULTR_IP_ADDRESS/install/
Большинство вариантов установки говорят сами за себя, но вот несколько советов, которые помогут вам в этом:
-
Убедитесь, что Pre-installation checksвсе зеленые. В частности, следующие 3 файла должны быть writable:
config.php
tmp/temp.tdata
sitemap.xml
-
Введите следующее DATABASE INFORMATION:
Hostname: localhost
Database Name: paste_db
Username: paste_user
Password: UltraSecurePassword
Запишите keyзначение и сохраните его в надежном месте, затем нажмите, Installчтобы продолжить.
-
Введите следующие данные администратора:
Username: admin
Password: <secure admin password>
Нажмите, Submitчтобы завершить установку.
Для доступа к разделу администратора просто нажмите на dashboardкнопку и введите свое имя пользователя и пароль. Если вы не перенаправлены на страницу входа администратора, вы можете ввести адрес администратора вручную:
http://YOUR_VULTR_IP_ADDRESS/admin/
В целях безопасности обязательно удалите /install/каталог из каталога webroot:
sudo rm -rf ./install
Если вы получаете сообщение об ошибке при попытке удалить /install/каталог, просто измените права доступа к webroot и попробуйте снова:
sudo chmod 755 .
sudo rm -rf ./install
Теперь вы готовы начать администрирование своего личного сайта.