Preduvjeti
Korak 1: Dodajte Sudo korisnika
Korak 2: Ažurirajte CentOS 7 sustav
Korak 3: Instalirajte Apache web poslužitelj
Korak 4: Otvorite portove web vatrozida
Korak 5: Onemogućite SELinux (ako je omogućen)
Korak 6: Instalirajte PHP 7.1
Korak 7: Instalirajte MariaDB (MySQL) poslužitelj
Korak 8: Napravite bazu podataka za lijepljenje
Korak 9: Instalirajte Paste Files
Korak 10: Dovršite instalaciju zalijepi
Paste 2.1 je jednostavna i fleksibilna, besplatna pastebin aplikacija otvorenog koda za pohranjivanje koda, teksta i još mnogo toga. Prvobitno se račvao iz slobodno dostupnog izvornog izvornog koda koji je koristio pastebin.com prije nego što je domena prodana 2010. Od tog vremena, programeri Paste dodali su mnoga poboljšanja i značajke kao što je značajna Admin Dashboard sa statistikom i postavkama web-mjesta, IP i korisničke zabrane, mogućnost selektivnog brisanja lijepljenja, korisnički računi s društvenom integracijom, stranice profila i svi uobičajeni dodaci kao što je isticanje sintakse za većinu jezika, konfigurabilna ograničenja lijepljenja i još mnogo toga.
U ovom vodiču ćemo instalirati Paste 2.1 na CentOS 7 LAMP VPS koristeći Apache web poslužitelj, PHP 7.1 i MariaDB bazu podataka.
Preduvjeti
- Čista instanca poslužitelja Vultr CentOS 7 sa SSH pristupom
Korak 1: Dodajte Sudo korisnika
Započet ćemo dodavanjem novog sudokorisnika.
Prvo se prijavite na svoj poslužitelj kao root:
ssh root@YOUR_VULTR_IP_ADDRESS
Dodajte novog korisnika pod nazivom user1(ili svoje željeno korisničko ime):
useradd user1
Zatim postavite lozinku za user1korisnika:
passwd user1
Kada se to od vas zatraži, unesite sigurnu i nezaboravnu lozinku.
Sada provjerite /etc/sudoersdatoteku kako biste bili sigurni da je sudoersgrupa omogućena:
visudo
Potražite odjeljak poput ovoga:
%wheel ALL=(ALL) ALL
Ovaj redak nam govori da korisnici koji su članovi wheelgrupe mogu koristiti sudonaredbu za stjecanje rootprivilegija. Prema zadanim postavkama bit će dekomentiran tako da možete jednostavno izaći iz datoteke.
Zatim user1u wheelgrupu trebamo dodati :
usermod -aG wheel user1
Možemo provjeriti user1članstvo u grupi i provjeriti je li usermodnaredba radila s groupsnaredbom:
groups user1
Sada koristite sunaredbu za prebacivanje na novi sudo korisnički user1račun:
su - user1
Naredbeni redak će se ažurirati kako bi naznačio da ste sada prijavljeni na user1račun. To možete provjeriti whoaminaredbom:
whoami
Sada ponovno pokrenite sshduslugu kako biste se mogli prijaviti putem sshnovog sudo korisničkog računa koji ste upravo kreirali:
sudo systemctl restart sshd
Izađite iz user1računa:
exit
Izađite iz rootračuna (što će prekinuti vašu sshsesiju):
exit
Sada možete sshući u instancu poslužitelja sa svog lokalnog hosta koristeći novi nekorijenski sudo korisnički user1račun:
ssh user1@YOUR_VULTR_IP_ADDRESS
Ako želite izvršiti sudo bez potrebe za svakim upisivanjem lozinke, zatim ponovo otvorite /etc/sudoersdatoteku koristeći visudo:
sudo visudo
Uredite odjeljak za wheelgrupu tako da izgleda ovako:
%wheel ALL=(ALL) NOPASSWD: ALL
Napomena: Onemogućavanje zahtjeva za lozinkom za sudo korisnika nije preporučena praksa, ali je ovdje uključena jer može učiniti konfiguraciju poslužitelja mnogo praktičnijom i manje frustrirajućom, osobito tijekom dužih sesija administracije sustava. Ako ste zabrinuti zbog sigurnosnih implikacija, uvijek možete vratiti promjenu konfiguracije na izvornu nakon što završite svoje administrativne zadatke.
Kad god se želite prijaviti na rootkorisnički račun iz sudokorisničkog računa, možete koristiti jednu od sljedećih naredbi:
sudo -i
sudo su -
Možete izaći s rootračuna i vratiti se na svoj sudokorisnički račun u bilo kojem trenutku jednostavnim upisivanjem:
exit
Korak 2: Ažurirajte CentOS 7 sustav
Prije instaliranja bilo kojeg paketa na instancu poslužitelja CentOS, prvo ćemo ažurirati sustav.
Provjerite jeste li prijavljeni na poslužitelj koristeći sudo korisnika koji nije root i pokrenite sljedeću naredbu:
sudo yum -y update
Korak 3: Instalirajte Apache web poslužitelj
Instalirajte Apache web poslužitelj:
sudo yum -y install httpd
Zatim upotrijebite systemctlnaredbu za pokretanje i omogućite automatsko izvršavanje Apachea prilikom pokretanja:
sudo systemctl enable httpd
sudo systemctl start httpd
Provjerite svoju Apache konfiguracijsku datoteku kako biste bili sigurni da DocumentRootdirektiva pokazuje na ispravan direktorij:
sudo vi /etc/httpd/conf/httpd.conf
Opcija DocumentRootkonfiguracije će izgledati ovako:
DocumentRoot "/var/www/html"
Sada, provjerimo je li mod_rewriteApache modul učitan. To možemo učiniti pretraživanjem konfiguracijske datoteke osnovnih modula Apache za pojam " mod_rewrite".
Otvorite datoteku:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Potražite pojam mod_rewrite.
Ako je mod_rewritemodul Apache učitan, pronaći ćete konfiguracijsku liniju koja izgleda ovako:
LoadModule rewrite_module modules/mod_rewrite.so
Ako gornji redak počinje s točkom-zarezom, morat ćete ukloniti točku-zarez kako biste dekomentirali redak i učitali modul. To se, naravno, odnosi i na sve ostale potrebne Apache module.
Sada moramo urediti Apacheovu zadanu konfiguracijsku datoteku tako da mod_rewriteće ispravno raditi s aplikacijom Paste.
Otvorite datoteku:
sudo vi /etc/httpd/conf/httpd.conf
Zatim pronađite odjeljak koji počinje s <Directory "/var/www/html">i promijenite AllowOverride noneu AllowOverride All. Konačni rezultat (sa uklonjenim svim komentarima) izgledat će otprilike ovako:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Sada spremite i zatvorite Apache konfiguracijsku datoteku.
Ponovo ćemo pokrenuti Apache na kraju ovog vodiča, ali redovito ponovno pokretanje Apachea tijekom instalacije i konfiguracije svakako je dobra navika, pa učinimo to sada:
sudo systemctl restart httpd
Korak 4: Otvorite portove web vatrozida
Sada moramo otvoriti zadane HTTPi HTTPSportove jer će firewalldprema zadanim postavkama biti blokirani .
Otvorite portove vatrozida:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Ponovno učitajte vatrozid da biste primijenili promjene:
sudo firewall-cmd --reload
Vidjet ćete riječ successprikazanu u vašem terminalu nakon svake uspješne naredbe za konfiguraciju vatrozida.
Možemo brzo provjeriti je li Apache HTTPport otvoren posjetom IP adrese ili domene instance poslužitelja u pregledniku:
http://YOUR_VULTR_IP_ADDRESS/
Vidjet ćete zadanu Apache web stranicu u vašem pregledniku.
Korak 5: Onemogućite SELinux (ako je omogućen)
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
rootLozinka će biti prazan, pa jednostavno pritisnite Enter kad dobijete prompt za rootlozinku.
Kada se od vas zatraži da kreirate MariaDB/MySQL rootkorisnika, odaberite "Y" (za da), a zatim unesite sigurnu rootlozinku. Jednostavno odgovorite "Y" na sva ostala da/ne pitanja jer su zadani prijedlozi najsigurnije opcije.
Korak 8: Napravite bazu podataka za lijepljenje
Prijavite se u ljusku MariaDB kao rootkorisnik MariaDB pokretanjem sljedeće naredbe:
sudo mysql -u root -p
Za pristup MariaDB naredbenom retku, jednostavno unesite MariaDB rootlozinku kada se to od vas zatraži.
Pokrenite sljedeće upite za stvaranje MariaDB baze podataka i korisnika baze podataka za 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;
You can replace the database name paste_db and username paste_user with something more to your liking, if you prefer. (Please note that the default maximum length for usernames in MariaDB on CentOS 7 is 16 characters). Also, make sure that you replace "UltraSecurePassword" with an actually secure password.
Step 9: Install Paste Files
Change your current working directory to the default web directory:
cd /var/www/html/
If you get an error message saying something like 'No such file or directory' then try the following command:
cd /var/www/ ; sudo mkdir html ; cd html
Your current working directory will now be: /var/www/html/. You can check this with the pwd (print working directory) command:
pwd
Now use wget to download the Paste installation package:
sudo wget --content-disposition https://sourceforge.net/projects/phpaste/files/latest/download?source=files
Please note: You should definitely check for the most recent version by visiting the Paste download page.
List the current directory to check that you have successfully downloaded the file:
ls -la
Let's quickly install unzip so we can unzip the file:
sudo yum -y install unzip
Now uncompress the zip archive:
sudo unzip paste-2.1.zip
Change ownership of the web files to avoid any permissions problems:
sudo chown -R apache:apache * ./
Restart Apache again:
sudo systemctl restart httpd
Now we're ready to move on to the final step.
Step 10: Complete Paste Installation
It's time to visit the IP address of your server instance in your browser, or if you've already configured your Vultr DNS settings (and given it enough time to propagate) you can simply visit your domain instead.
To access the Paste installation page, enter your Vultr instance IP address into your browser address bar, followed by /install/:
http://YOUR_VULTR_IP_ADDRESS/install/
Most of the installation options are self explanatory, but here are a few pointers to help you along:
Ensure that the Pre-installation checks are all green. Specifically, the following 3 files must be writable:
config.php
tmp/temp.tdata
sitemap.xml
Enter the following DATABASE INFORMATION:
Hostname: localhost
Database Name: paste_db
Username: paste_user
Password: UltraSecurePassword
Make a note of the key value and store it in a safe place, then click Install to continue.
Enter the following Administrator details:
Username: admin
Password: <secure admin password>
Click Submit to finalize the installation.
To access the admin section simply click on the dashboard button and enter your username and password. If you aren't redirected to the admin login page, you can enter the admin address manually:
http://YOUR_VULTR_IP_ADDRESS/admin/
For security reasons, make sure you delete the /install/ directory from the webroot directory:
sudo rm -rf ./install
If you get an error message when trying to delete the /install/ directory, simply change the permissions of the webroot and try again:
sudo chmod 755 .
sudo rm -rf ./install
You are now ready to start administering your own personal pastebin site.