Paste 2.1 este o aplicație simplă și flexibilă, liberă și deschisă, pentru a stoca cod, text și multe altele. Acesta a fost inițial bifat din codul sursă original disponibil gratuit de pastebin.com înainte ca domeniul să fie vândut în 2010. De atunci, dezvoltatorii Paste au adăugat o mulțime de îmbunătățiri și funcții, cum ar fi un tablou de bord funcțional cu statisticile și setările site-ului, Interziceri IP și utilizator, posibilitatea de a șterge selectiv lipirile, conturile de utilizator cu integrare socială, paginile de profil și toate accesoriile obișnuite, precum evidențierea sintaxei pentru majoritatea limbilor, limitele de lipire configurabile și multe altele.
În acest tutorial vom instala Paste 2.1 pe un VPS CentOS 7 LAMP folosind serverul web Apache, PHP 7.1 și o bază de date MariaDB.
Cerințe preliminare
- O instanță curată a serverului Vultr CentOS 7 cu acces SSH
Pasul 1: Adăugați un utilizator Sudo
Vom începe adăugând un sudoutilizator nou .
În primul rând, conectați-vă la serverul dvs. ca root:
ssh root@YOUR_VULTR_IP_ADDRESS
Adăugați un utilizator nou numit user1(sau numele de utilizator preferat):
useradd user1
Apoi, setați parola pentru user1utilizator:
passwd user1
Când vi se solicită, introduceți o parolă sigură și memorabilă.
Acum verificați /etc/sudoersfișierul pentru a vă asigura că sudoersgrupul este activat:
visudo
Caută o secțiune ca aceasta:
%wheel ALL=(ALL) ALL
Această linie ne spune că utilizatorii care sunt membri ai wheelgrupului pot utiliza sudocomanda pentru a obține rootprivilegii. Acesta va fi necomandat implicit, astfel încât să puteți ieși pur și simplu din fișier.
În continuare, trebuie să adăugăm user1la wheelgrup:
usermod -aG wheel user1
Putem verifica user1apartenența la grup și să verificăm dacă usermodcomanda a funcționat cu groupscomanda:
groups user1
Acum folosiți sucomanda pentru a comuta la noul user1cont de utilizator sudo :
su - user1
Indicatorul de comandă se va actualiza pentru a indica faptul că sunteți acum conectat la user1cont. Puteți verifica acest lucru cu whoamicomanda:
whoami
Acum reporniți sshdserviciul astfel încât să vă puteți autentifica prin sshnoul cont de utilizator sudo non-root pe care tocmai l-ați creat:
sudo systemctl restart sshd
Ieșiți din user1cont:
exit
Ieșiți din rootcont (care vă va deconecta sshsesiunea):
exit
Acum puteți sshintra în instanța serverului de la gazda locală folosind noul user1cont de utilizator sudo non-root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Dacă doriți să executați sudo fără a fi necesar să introduceți o parolă de fiecare dată, atunci deschideți din /etc/sudoersnou fișierul, folosind visudo:
sudo visudo
Editați secțiunea pentru wheelgrup astfel încât să arate astfel:
%wheel ALL=(ALL) NOPASSWD: ALL
Vă rugăm să rețineți: Dezactivarea cerinței de parolă pentru utilizatorul sudo nu este o practică recomandată, dar este inclusă aici, deoarece poate face configurația serverului mult mai convenabilă și mai puțin frustrantă, mai ales în timpul sesiunilor de administrare a sistemelor mai lungi. Dacă sunteți îngrijorat de implicațiile de securitate, puteți întoarce întotdeauna modificarea de configurare la original după ce terminați sarcinile de administrare.
Ori de câte ori doriți să vă conectați la rootcontul de utilizator din contul de sudoutilizator, puteți utiliza una dintre următoarele comenzi:
sudo -i
sudo su -
Puteți ieși din rootcont și reveni în contul dvs. de sudoutilizator oricând, pur și simplu tastând:
exit
Pasul 2: Actualizați sistemul CentOS 7
Înainte de a instala pachetele pe instanța serverului CentOS, vom actualiza mai întâi sistemul.
Asigurați-vă că sunteți conectat la server folosind un utilizator sudo non-root și executați următoarea comandă:
sudo yum -y update
Pasul 3: Instalați serverul web Apache
Instalați serverul web Apache:
sudo yum -y install httpd
Apoi folosiți systemctlcomanda pentru a porni și a permite executarea automată a lui Apache la momentul de pornire:
sudo systemctl enable httpd
sudo systemctl start httpd
Verificați fișierul dvs. de configurare Apache pentru a vă asigura că DocumentRootdirectiva indică directorul corect:
sudo vi /etc/httpd/conf/httpd.conf
Opțiunea de DocumentRootconfigurare va arăta astfel:
DocumentRoot "/var/www/html"
Acum, să ne asigurăm că mod_rewritemodulul Apache este încărcat. Putem face acest lucru căutând fișierul de configurare al modulelor de bază Apache pentru termenul " mod_rewrite".
Deschideți fișierul:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Căutați termenul mod_rewrite.
Dacă mod_rewritemodulul Apache este încărcat, veți găsi o linie de configurare care arată astfel:
LoadModule rewrite_module modules/mod_rewrite.so
Dacă linia de mai sus începe cu un semicolon, va trebui să eliminați semicolonul pentru a dezlipi linia și a încărca modulul. Acest lucru se aplică desigur și pentru orice alte module Apache necesare.
Acum trebuie să modificăm fișierul de configurare implicit al lui Apache, astfel încât mod_rewritesă funcționeze corect cu aplicația Paste.
Deschideți fișierul:
sudo vi /etc/httpd/conf/httpd.conf
Apoi găsiți secțiunea cu care începeți <Directory "/var/www/html">și treceți AllowOverride nonela AllowOverride All. Rezultatul final (cu toate comentariile eliminate) va arăta astfel:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Acum salvați și închideți fișierul de configurare Apache.
Vom reporni Apache la sfârșitul acestui tutorial, însă repornirea regulată a lui Apache în timpul instalării și configurației este cu siguranță un obicei bun, așa că haideți să o facem acum:
sudo systemctl restart httpd
Pasul 4: Deschideți porturile firewallului web
Acum trebuie să deschidem implicit HTTPși HTTPSporturile, deoarece acestea vor fi blocate firewalldimplicit.
Deschide porturile firewall-ului:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Reîncărcați firewallul pentru a aplica modificările:
sudo firewall-cmd --reload
Veți vedea cuvântul successafișat în terminalul dvs. după fiecare comandă de configurare a firewallului de succes.
Putem verifica rapid dacă HTTPportul Apache este deschis vizitând adresa IP sau domeniul instanței instanței într-un browser:
http://YOUR_VULTR_IP_ADDRESS/
Veți vedea pagina web Apache implicită în browserul dvs.
Pasul 5: Dezactivați SELinux (dacă este activat)
SELinux reprezintă „Linux Enhanced Linux”. Este o îmbunătățire a securității pentru Linux, care permite utilizatorilor și administratorilor un control mai mare asupra controlului accesului. Acesta este dezactivat în mod implicit în instanțele Vultr CentOS 7, dar vom acoperi pașii pentru a-l dezactiva, doar în cazul în care nu porniți de la o instalare curată și a fost anterior activată.
Pentru a evita problemele de permisiune de fișier cu aplicația Paste, trebuie să ne asigurăm că SELinux este dezactivat.
În primul rând, să verificăm dacă SELinux este activat sau dezactivat cu sestatuscomanda:
sudo sestatus
Dacă vedeți ceva de genul: SELinux status: disabledatunci este cu siguranță dezactivat și puteți sări direct la pasul 6. Dacă vedeți orice alt mesaj, va trebui să completați această secțiune.
Deschideți fișierul de configurare SELinux cu editorul de terminal preferat:
sudo vi /etc/selinux/config
Schimbarea SELINUX=enforcingla SELINUX=disabledși apoi salvați fișierul.
Pentru a aplica modificarea de configurare, SELinux necesită o repornire a serverului, astfel încât puteți reporni serverul folosind panoul de control Vultr sau puteți utiliza pur și simplu shutdowncomanda:
sudo shutdown -r now
Când serverul repornește, sesiunea SSH va fi deconectată și este posibil să vedeți un mesaj care vă informează despre un 'broken pipe'sau 'Connection closed by remote host'. Nu este de ce să vă faceți griji, pur și simplu așteptați 20 de secunde și apoi SSH din nou înapoi (cu propriul nume de utilizator și domeniu):
ssh user1@YOUR_DOMAIN
Sau (cu propriul nume de utilizator și adresa IP):
ssh user1@YOUR_VULTR_IP_ADDRESS
După ce v-ați autentificat, ar trebui să verificați din nou starea SELinux cu sestatuscomanda pentru a vă asigura că este dezactivat corespunzător:
sudo sestatus
Ar trebui să vezi un mesaj care spune SELinux status: disabled. Dacă vedeți un mesaj care spune SELinux status: enabled(sau ceva similar) va trebui să repetați pașii de mai sus și să vă asigurați că reporniți corect serverul.
Pasul 6: Instalează PHP 7.1
CentOS 7 necesită să adăugăm un repo extern pentru a instala PHP 7.1, deci executați următoarea comandă:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Acum putem instala PHP 7.1 împreună cu toate modulele PHP necesare cerute de aplicația Paste:
sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd
Pasul 7: Instalează serverul MariaDB (MySQL)
CentOS 7 implicit utilizează serverul de baze de date MariaDB, care este o sursă îmbunătățită, complet deschisă, dezvoltată de comunitate, înlocuire drop-in pentru serverul MySQL.
Instalați serverul de baze de date MariaDB:
sudo yum -y install mariadb-server
Porniți și permiteți executarea automată a serverului MariaDB la momentul de pornire:
sudo systemctl enable mariadb
sudo systemctl start mariadb
Asigurați-vă instalarea serverului MariaDB:
sudo mysql_secure_installation
rootParola va fi gol, astfel încât pur și simplu să apăsați enter când vi se cere rootparola.
Când vi se solicită să creați un utilizator MariaDB / MySQL root, selectați „Y” (pentru da) și apoi introduceți o rootparolă sigură . Pur și simplu răspundeți „Y” la toate celelalte întrebări da / nu, deoarece sugestiile implicite sunt cele mai sigure opțiuni.
Pasul 8: Creare bază de date pentru Lipire
Conectați-vă la shell-ul MariaDB ca rootutilizator MariaDB rulând următoarea comandă:
sudo mysql -u root -p
Pentru a accesa promptul de comandă MariaDB, introduceți rootparola MariaDB atunci când vi se solicită.
Rulați următoarele întrebări pentru a crea o bază de date MariaDB și un utilizator de bază de date pentru 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;
Puteți înlocui numele bazei de date paste_dbși numele de utilizator paste_usercu ceva mai mult pe gustul dvs., dacă doriți. (Rețineți că lungimea maximă implicită pentru numele de utilizator în MariaDB pe CentOS 7 este de 16 caractere). De asemenea, asigurați-vă că înlocuiți „UltraSecurePassword” cu o parolă de siguranță.
Pasul 9: Instalează Paste Fișiere
Modificați directorul de lucru curent în directorul web implicit:
cd /var/www/html/
Dacă primiți un mesaj de eroare spunând ceva de genul 'No such file or directory'acesta, încercați următoarea comandă:
cd /var/www/ ; sudo mkdir html ; cd html
Directorul curent va fi acum: /var/www/html/. Puteți verifica acest lucru cu comanda pwd(imprimare director de lucru):
pwd
Acum folosiți wgetpentru a descărca pachetul de instalare Paste:
sudo wget --content-disposition https://sourceforge.net/projects/phpaste/files/latest/download?source=files
Vă rugăm să rețineți: cu siguranță, ar trebui să verificați cea mai recentă versiune accesând pagina Lipire de descărcare .
Enumerați directorul curent pentru a verifica dacă ați descărcat cu succes fișierul:
ls -la
Să instalăm rapid, unzipastfel încât să putem dezarhiva fișierul:
sudo yum -y install unzip
Acum decomprimează arhiva zip:
sudo unzip paste-2.1.zip
Modificați proprietatea asupra fișierelor web pentru a evita orice probleme de permisiune:
sudo chown -R apache:apache * ./
Reporniți Apache din nou:
sudo systemctl restart httpd
Acum suntem gata să trecem la ultimul pas.
Pasul 10: Instalarea completă a lipirii
Este timpul să vizitați adresa IP a instanței serverului dvs. în browserul dvs., sau dacă ați configurat deja setările DNS Vultr (și i-a dat suficient timp pentru a se propaga), puteți pur și simplu să vă vizitați domeniul.
Pentru a accesa pagina Lipire de instalare, introduceți adresa IP a instanței Vultr în bara de adrese a browserului, urmată de /install/:
http://YOUR_VULTR_IP_ADDRESS/install/
Majoritatea opțiunilor de instalare sunt explicative, dar iată câteva indicatoare care vă pot ajuta de-a lungul:
-
Asigurați-vă că Pre-installation checkstoate sunt verzi. Mai exact, următoarele 3 fișiere trebuie să fie writable:
config.php
tmp/temp.tdata
sitemap.xml
-
Introduceți următoarele DATABASE INFORMATION:
Hostname: localhost
Database Name: paste_db
Username: paste_user
Password: UltraSecurePassword
Faceți o notă despre keyvaloare și păstrați-o într-un loc sigur, apoi faceți clic Installpentru a continua.
-
Introduceți următoarele detalii ale administratorului:
Username: admin
Password: <secure admin password>
Faceți clic Submitpentru a finaliza instalarea.
Pentru a accesa secțiunea admin, pur și simplu faceți clic pe dashboardbuton și introduceți numele de utilizator și parola. Dacă nu sunteți redirecționat către pagina de autentificare admin, puteți introduce adresa admin manual:
http://YOUR_VULTR_IP_ADDRESS/admin/
Din motive de securitate, asigurați-vă că ștergeți /install/directorul din directorul webroot:
sudo rm -rf ./install
Dacă primiți un mesaj de eroare atunci când încercați să ștergeți /install/directorul, pur și simplu schimbați permisiunile webroot și încercați din nou:
sudo chmod 755 .
sudo rm -rf ./install
Acum sunteți gata să începeți să vă administrați propriul site personal de pastebin.