Как да инсталирате Paste 2.1 на CentOS 7 LAMP VPS

Paste 2.1 е просто и гъвкаво, безплатно приложение pastebin с отворен код за съхранение на код, текст и други. Първоначално той беше разклонен от свободно достъпния оригинален изходен код, използван от pastebin.com, преди домейнът да бъде продаден през 2010 г. Оттогава разработчиците на Paste са добавили много подобрения и функции като функционално табло за управление на администратора със статистика и настройки на сайта, IP и потребителски забрани, възможност за селективно изтриване на пасти, потребителски акаунти със социална интеграция, страници с профили и всички обичайни екстри като подчертаване на синтаксиса за повечето езици, конфигурируеми ограничения за поставяне и много други.

В този урок ще инсталираме Paste 2.1 на CentOS 7 LAMP VPS, използвайки уеб сървър на Apache, PHP 7.1 и база данни MariaDB.

Предпоставки

  • Чист Vultr CentOS 7 сървърен екземпляр със SSH достъп

Стъпка 1: Добавете потребител на Sudo

Ще започнем с добавяне на нов sudoпотребител.

Първо влезте в сървъра си като root:

ssh root@YOUR_VULTR_IP_ADDRESS

Добавете нов потребител, наречен user1(или предпочитаното от вас потребителско име):

useradd user1

След това задайте паролата за user1потребителя:

passwd user1

Когато бъдете подканени, въведете сигурна и запомняща се парола.

Сега проверете /etc/sudoersфайла, за да се уверите, че sudoersгрупата е активирана:

visudo

Потърсете раздел като този:

%wheel        ALL=(ALL)       ALL

Този ред ни казва, че потребителите, които са членове на wheelгрупата, могат да използват sudoкомандата, за да получат rootпривилегии. По подразбиране ще бъде декомментиран, така че можете просто да излезете от файла.

След това трябва да добавим user1към wheelгрупата:

usermod -aG wheel user1

Можем да проверим user1членството в групата и да проверим дали usermodкомандата работи с groupsкомандата:

groups user1

Сега използвайте suкомандата, за да превключите към новия потребителски user1акаунт sudo :

su - user1

Командният ред ще се актуализира, за да покаже, че вече сте влезли в user1акаунта. Можете да проверите това с whoamiкомандата:

whoami

Сега рестартирайте sshdуслугата, за да можете да влезете чрез sshновия не-root потребителски акаунт на sudo, който току-що създадохте:

sudo systemctl restart sshd

Излезте от user1акаунта:

exit

Излезте от rootакаунта (което ще прекъсне връзката на вашата sshсесия):

exit

Вече можете да sshвлезете в сървърния екземпляр от вашия локален хост, като използвате новия не-root потребителски user1акаунт sudo :

ssh user1@YOUR_VULTR_IP_ADDRESS

Ако искате да изпълнявате sudo, без да се налага да въвеждате парола всеки път, след това отворете /etc/sudoersфайла отново, като използвате visudo:

sudo visudo

Редактирайте секцията за wheelгрупата, така че да изглежда така:

%wheel        ALL=(ALL)       NOPASSWD: ALL

Моля, обърнете внимание: Деактивирането на изискването за парола за потребителя на sudo не е препоръчителна практика, но е включено тук, тъй като може да направи конфигурацията на сървъра много по-удобна и по-малко разочароваща, особено по време на по-дълги сесии на системно администриране. Ако сте загрижени за последиците за сигурността, винаги можете да върнете промяната на конфигурацията към оригинала, след като завършите административните си задачи.

Всеки път, когато искате да влезете в rootпотребителския акаунт от sudoпотребителския акаунт, можете да използвате една от следните команди:

sudo -i
sudo su -

Можете да излезете от rootакаунта и да се върнете обратно към вашия sudoпотребителски акаунт по всяко време, като просто напишете:

exit

Стъпка 2: Актуализирайте системата CentOS 7

Преди да инсталираме пакети на сървъра на CentOS, първо ще актуализираме системата.

Уверете се, че сте влезли в сървъра, като използвате sudo потребител без root и изпълнете следната команда:

sudo yum -y update

Стъпка 3: Инсталирайте уеб сървъра на Apache

Инсталирайте уеб сървъра Apache:

sudo yum -y install httpd

След това използвайте systemctlкомандата, за да стартирате и активирате Apache да се изпълнява автоматично при стартиране:

sudo systemctl enable httpd
sudo systemctl start httpd

Проверете вашия конфигурационен файл на Apache, за да се уверите, че DocumentRootдирективата сочи към правилната директория:

sudo vi /etc/httpd/conf/httpd.conf 

Опцията за DocumentRootконфигурация ще изглежда така:

DocumentRoot "/var/www/html"

Сега нека се уверим, че mod_rewriteмодулът Apache е зареден. Можем да направим това, като потърсим в конфигурационния файл на базовите модули на Apache термина " mod_rewrite".

Отворете файла:

sudo vi /etc/httpd/conf.modules.d/00-base.conf

Потърсете термина mod_rewrite.

Ако mod_rewriteмодулът Apache е зареден, ще намерите конфигурационен ред, изглеждащ така:

LoadModule rewrite_module modules/mod_rewrite.so

Ако горният ред започва с точка и запетая, ще трябва да премахнете точката и запетая, за да декоментирате реда и да заредите модула. Това, разбира се, важи и за всички други необходими модули на Apache.

Сега трябва да редактираме конфигурационния файл по подразбиране на Apache, така че mod_rewriteда работи правилно с приложението Paste.

Отворете файла:

sudo vi /etc/httpd/conf/httpd.conf

След това намерете секцията, която започва с <Directory "/var/www/html">и променете AllowOverride noneна AllowOverride All. Крайният резултат (с премахнати всички коментари) ще изглежда така:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Сега запазете и затворете конфигурационния файл на Apache.

Ще рестартираме Apache в края на този урок, но рестартирането на Apache редовно по време на инсталацията и конфигурацията със сигурност е добър навик, така че нека го направим сега:

sudo systemctl restart httpd

Стъпка 4: Отворете портовете на уеб защитната стена

Сега трябва да отворим по подразбиране HTTPи HTTPSпортовете, тъй като те ще бъдат блокирани firewalldпо подразбиране.

Отворете портовете на защитната стена:

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

Презаредете защитната стена, за да приложите промените:

sudo firewall-cmd --reload

Ще видите думата, successпоказана във вашия терминал след всяка успешна команда за конфигуриране на защитната стена.

Можем бързо да проверим дали HTTPпортът Apache е отворен, като посетим IP адреса или домейна на сървърния екземпляр в браузър:

http://YOUR_VULTR_IP_ADDRESS/

Ще видите уеб страницата на Apache по подразбиране във вашия браузър.

Стъпка 5: Деактивирайте SELinux (ако е активиран)

SELinux stands for "Security Enhanced Linux". It is a security enhancement to Linux which allows users and administrators more control over access control. It is disabled by default on Vultr CentOS 7 instances, but we will cover the steps to disable it, just in case you are not starting from a clean install and it was previously enabled.

To avoid file permission problems with the Paste app we need to ensure that SELinux is disabled.

First, let's check whether SELinux is enabled or disabled with the sestatus command:

sudo sestatus

If you see something like: SELinux status: disabled then it is definitely disabled and you can skip straight to Step 6. If you see any other message, then you will need to complete this section.

Open the SELinux configuration file with your favourite terminal editor:

sudo vi /etc/selinux/config

Change SELINUX=enforcing to SELINUX=disabled and then save the file.

To apply the configuration change, SELinux requires a server reboot, so you can either restart the server using the Vultr control panel or you can simply use the shutdown command:

sudo shutdown -r now

When the server reboots, your SSH session will get disconnected and you may see a message informing you about a 'broken pipe' or 'Connection closed by remote host'. This is nothing to worry about, simply wait for 20 seconds or so and then SSH back in again (with your own username and domain):

ssh user1@YOUR_DOMAIN

Or (with your own username and IP address):

ssh user1@YOUR_VULTR_IP_ADDRESS

Once you have logged back in, you should check the status of SELinux again with the sestatus command to make sure it is properly disabled:

sudo sestatus

You should see a message saying SELinux status: disabled. If you see a message saying SELinux status: enabled (or something similar) you will need to repeat the above steps and ensure that you properly restart your server.

Step 6: Install PHP 7.1

CentOS 7 requires us to add an external repo in order to install PHP 7.1, so run the following command:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

We can now install PHP 7.1 along with all of the necessary PHP modules required by the Paste app:

sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd

Step 7: Install MariaDB (MySQL) Server

CentOS 7 defaults to using MariaDB database server, which is an enhanced, fully open source, community developed, drop-in replacement for MySQL server.

Install MariaDB database server:

sudo yum -y install mariadb-server

Start and enable MariaDB server to execute automatically at boot time:

sudo systemctl enable mariadb
sudo systemctl start mariadb    

Secure your MariaDB server installation:

sudo mysql_secure_installation

The root password will be blank, so simply hit enter when prompted for the root password.

When prompted to create a MariaDB/MySQL root user, select "Y" (for yes) and then enter a secure root password. Simply answer "Y" to all of the other yes/no questions as the default suggestions are the most secure options.

Step 8: Create Database for Paste

Log into the MariaDB shell as the MariaDB root user by running the following command:

sudo mysql -u root -p

To access the MariaDB command prompt, simply enter the MariaDB root password when prompted.

Run the following queries to create a MariaDB database and database user for Paste:

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с нещо повече по ваш вкус, ако предпочитате. (Моля, имайте предвид, че максималната дължина по подразбиране за потребителски имена в MariaDB на CentOS 7 е 16 знака). Освен това се уверете, че замените „UltraSecurePassword“ с действително сигурна парола.

Стъпка 9: Инсталирайте 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

Нека бързо да инсталираме, unzipза да можем да разархивираме файла:

sudo yum -y install unzip

Сега декомпресирайте zip архива:

sudo unzip paste-2.1.zip

Променете собствеността върху уеб файловете, за да избегнете проблеми с разрешенията:

sudo chown -R apache:apache * ./

Рестартирайте Apache отново:

sudo systemctl restart httpd

Сега сме готови да преминем към последната стъпка.

Стъпка 10: Завършете инсталацията за поставяне

Време е да посетите IP адреса на вашия сървърен екземпляр във вашия браузър или ако вече сте конфигурирали настройките на Vultr DNS (и сте му дали достатъчно време за разпространение), можете просто да посетите вашия домейн вместо това.

За да получите достъп до страницата за инсталиране на Paste, въведете IP адреса на вашия Vultr екземпляр в адресната лента на браузъра, последван от /install/:

http://YOUR_VULTR_IP_ADDRESS/install/

Повечето от опциите за инсталиране са обясними сами по себе си, но ето няколко насоки, които да ви помогнат:

  1. Уверете се, че всички Pre-installation checksса зелени. По-конкретно, следните 3 файла трябва да са writable:

    config.php
    tmp/temp.tdata
    sitemap.xml
    
  2. Въведете следното DATABASE INFORMATION:

    Hostname:               localhost
    Database Name:          paste_db
    Username:               paste_user
    Password:               UltraSecurePassword
    

    Запишете keyстойността и я съхранете на сигурно място, след което щракнете, за Installда продължите.

  3. Въведете следните данни за администратора:

    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

Вече сте готови да започнете да администрирате свой личен сайт pastebin.


Инсталирайте Plesk на CentOS 7

Инсталирайте Plesk на CentOS 7

Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни

Как да инсталирате Squid Proxy на CentOS

Как да инсталирате Squid Proxy на CentOS

Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте

Конфигуриране на статична мрежа и IPv6 на CentOS 7

Конфигуриране на статична мрежа и IPv6 на CentOS 7

VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока

Как да инсталирате Microweber на CentOS 7

Как да инсталирате Microweber на CentOS 7

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

Как да инсталирате Mattermost 4.1 на CentOS 7

Как да инсталирате Mattermost 4.1 на CentOS 7

Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място

Lets Encrypt на Plesk

Lets Encrypt на Plesk

Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати

Позволява криптиране на cPanel

Позволява криптиране на cPanel

Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие ​​и вашият клиент

Как да инсталирате Concrete5 на CentOS 7

Как да инсталирате Concrete5 на CentOS 7

Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и

Как да инсталирате табло за преглед на CentOS 7

Как да инсталирате табло за преглед на CentOS 7

Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер

Настройте HTTP удостоверяване с Nginx на CentOS 7

Настройте HTTP удостоверяване с Nginx на CentOS 7

В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва

Как да инсталирате YOURLS на CentOS 7

Как да инсталирате YOURLS на CentOS 7

YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е

Използване на Etckeeper за контрол на версиите на /etc

Използване на Etckeeper за контрол на версиите на /etc

Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

Много системни администратори управляват големи количества сървъри. Когато файловете трябва да бъдат достъпни на различни сървъри, влизането във всеки от тях поотделно ок

Настройване на сървър на Half Life 2 на CentOS 6

Настройване на сървър на Half Life 2 на CentOS 6

Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou

Как да инсталирате Laravel GitScrum на CentOS 7

Как да инсталирате Laravel GitScrum на CentOS 7

Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече