Предуслови
Корак 1: Додајте Судо корисника
Корак 2: Ажурирајте систем ЦентОС 7
Корак 3: Инсталирајте Апацхе веб сервер
Корак 4: Отворите портове веб заштитног зида
Корак 5: Онемогућите СЕЛинук (ако је омогућен)
Корак 6: Инсталирајте ПХП 7.1
Корак 7: Инсталирајте МариаДБ (МиСКЛ) сервер
Корак 8: Креирајте базу података за лепљење
Корак 9: Инсталирајте Пасте Филес
Корак 10: Завршите инсталацију пасте
Пасте 2.1 је једноставна и флексибилна, бесплатна пастебин апликација отвореног кода за чување кода, текста и још много тога. Првобитно је направљен од бесплатно доступног оригиналног изворног кода који је користио пастебин.цом пре него што је домен продат 2010. Од тог времена, програмери Пасте су додали многа побољшања и функције као што је функционална администраторска контролна табла са статистиком и подешавањима сајта, ИП и корисничке забране, могућност селективног брисања пасте, кориснички налози са друштвеном интеграцијом, странице профила и сви уобичајени додаци као што је истицање синтаксе за већину језика, конфигурабилна ограничења за лепљење и још много тога.
У овом водичу ћемо инсталирати Пасте 2.1 на ЦентОС 7 ЛАМП ВПС користећи Апацхе веб сервер, ПХП 7.1 и МариаДБ базу података.
Предуслови
- Чиста инстанца сервера Вултр ЦентОС 7 са ССХ приступом
Корак 1: Додајте Судо корисника
Почећемо додавањем новог 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налог:
su - user1
Командна линија ће се ажурирати како би означила да сте сада пријављени на user1налог. Ово можете да проверите whoamiкомандом:
whoami
Сада поново покрените sshdуслугу како бисте се могли пријавити sshса новим судо корисничким налогом који сте управо креирали:
sudo systemctl restart sshd
Изађите са user1налога:
exit
Изађите са rootналога (што ће прекинути вашу sshсесију):
exit
Сада можете да sshприступите инстанци сервера са свог локалног хоста користећи нови судо кориснички user1налог који није роот :
ssh user1@YOUR_VULTR_IP_ADDRESS
Ако желите да извршите судо без потребе да сваки пут куцате лозинку, онда поново отворите /etc/sudoersдатотеку користећи visudo:
sudo visudo
Уредите одељак за wheelгрупу тако да изгледа овако:
%wheel ALL=(ALL) NOPASSWD: ALL
Имајте на уму: Онемогућавање захтева за лозинку за судо корисника није препоручена пракса, али је укључена овде јер може учинити конфигурацију сервера много погоднијом и мање фрустрирајућом, посебно током дужих сесија администрације система. Ако сте забринути због безбедносних импликација, увек можете да вратите промену конфигурације на оригинал након што завршите своје административне задатке.
Кад год желите да се пријавите на rootкориснички налог из sudoкорисничког налога, можете користити једну од следећих команди:
sudo -i
sudo su -
Можете изаћи са rootналога и вратити се на свој sudoкориснички налог у било ком тренутку једноставним уносом:
exit
Корак 2: Ажурирајте систем ЦентОС 7
Пре инсталирања било ког пакета на инстанци сервера ЦентОС, прво ћемо ажурирати систем.
Уверите се да сте пријављени на сервер користећи судо корисника који није роот и покрените следећу команду:
sudo yum -y update
Корак 3: Инсталирајте Апацхе веб сервер
Инсталирајте Апацхе веб сервер:
sudo yum -y install httpd
Затим користите systemctlкоманду да покренете и омогућите Апацхе-у да се аутоматски извршава у време покретања:
sudo systemctl enable httpd
sudo systemctl start httpd
Проверите своју Апацхе конфигурациону датотеку да бисте били сигурни да DocumentRootдиректива указује на тачан директоријум:
sudo vi /etc/httpd/conf/httpd.conf
Опција DocumentRootконфигурације ће изгледати овако:
DocumentRoot "/var/www/html"
Сада, хајде да се уверимо да је mod_rewriteАпацхе модул учитан. То можемо учинити тако што ћемо претражити конфигурациону датотеку Апацхе основних модула за термин " mod_rewrite".
Отворите датотеку:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Потражите појам mod_rewrite.
Ако је mod_rewriteАпацхе модул учитан, наћи ћете конфигурациону линију која изгледа овако:
LoadModule rewrite_module modules/mod_rewrite.so
Ако горњи ред почиње са тачком и зарезом, мораћете да уклоните тачку и зарез да бисте декоментирали ред и учитали модул. Ово се, наравно, односи и на све друге потребне Апацхе модуле.
Сада морамо да уредимо Апацхе-ову подразумевану конфигурациону датотеку тако да mod_rewriteће она исправно функционисати са апликацијом Пасте.
Отворите датотеку:
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>
Сада сачувајте и затворите Апацхе конфигурациону датотеку.
Поново ћемо покренути Апацхе на крају овог упутства, али редовно поновно покретање Апацхе-а током инсталације и конфигурације је свакако добра навика, па хајде да то урадимо сада:
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порт отворен тако што ћемо посетити ИП адресу или домен инстанце сервера у прегледачу:
http://YOUR_VULTR_IP_ADDRESS/
Видећете подразумевану Апацхе веб страницу у вашем претраживачу.
Корак 5: Онемогућите СЕЛинук (ако је омогућен)
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
rootЛозинка ће бити празно, тако једноставно притисните ентер када се затражи за rootлозинку.
Када се од вас затражи да креирате rootкорисника МариаДБ/МиСКЛ , изаберите „И“ (за да), а затим унесите безбедну rootлозинку. Једноставно одговорите са „И“ на сва друга питања са да/не јер су подразумевани предлози најбезбедније опције.
Корак 8: Креирајте базу података за лепљење
Пријавите се у МариаДБ шкољку као rootкорисник МариаДБ тако што ћете покренути следећу команду:
sudo mysql -u root -p
Да бисте приступили МариаДБ командној линији, једноставно унесите МариаДБ rootлозинку када се то од вас затражи.
Покрените следеће упите да бисте креирали МариаДБ базу података и корисника базе података за Пасте:
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нечим више по свом укусу, ако желите. (Имајте на уму да је подразумевана максимална дужина за корисничка имена у МариаДБ на ЦентОС 7 16 знакова). Такође, уверите се да сте заменили „УлтраСецуреПассворд“ стварно безбедном лозинком.
Корак 9: Инсталирајте Пасте Филес
Промените свој тренутни радни директоријум у подразумевани веб директоријум:
cd /var/www/html/
Ако добијете поруку о грешци која каже нешто попут 'No such file or directory', покушајте са следећом командом:
cd /var/www/ ; sudo mkdir html ; cd html
Ваш тренутни радни директоријум ће сада бити: /var/www/html/. Ово можете проверити pwdкомандом (штампај радни директоријум):
pwd
Сада користите wgetза преузимање инсталационог пакета Пасте:
sudo wget --content-disposition https://sourceforge.net/projects/phpaste/files/latest/download?source=files
Имајте на уму: свакако би требало да проверите најновију верзију тако што ћете посетити страницу за преузимање Пасте .
Наведите тренутни директоријум да бисте проверили да ли сте успешно преузели датотеку:
ls -la
Хајде да брзо инсталирамо unzipда бисмо могли да распакујемо датотеку:
sudo yum -y install unzip
Сада декомпримујте зип архиву:
sudo unzip paste-2.1.zip
Промените власништво над веб датотекама да бисте избегли проблеме са дозволама:
sudo chown -R apache:apache * ./
Поново покрените Апацхе:
sudo systemctl restart httpd
Сада смо спремни да пређемо на последњи корак.
Корак 10: Завршите инсталацију пасте
Време је да посетите ИП адресу инстанце вашег сервера у вашем претраживачу, или ако сте већ конфигурисали Вултр ДНС подешавања (и дали им довољно времена да се пропагирају), можете једноставно да посетите свој домен.
Да бисте приступили страници за инсталацију Пасте, унесите ИП адресу ваше Вултр инстанце у адресну траку претраживача, а затим /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/директоријум из веб-роот директоријума:
sudo rm -rf ./install
Ако добијете поруку о грешци када покушавате да избришете /install/директоријум, једноставно промените дозволе веброот-а и покушајте поново:
sudo chmod 755 .
sudo rm -rf ./install
Сада сте спремни да почнете да администрирате своју личну пастебин локацију.