Com instal·lar i configurar Phabricator a CentOS 7

Phabricator és una plataforma avançada de desenvolupament de programari de codi obert que es pot utilitzar per:

  • Codi de revisió i auditoria.
  • Host Git/Hg/SVN repositoris.
  • Seguiment d'errors.
  • Gestionar projectes.
  • Comunicar-se amb els membres de l'equip.
  • I fer molt més!

Gràcies a les seves abundants característiques i un rendiment excepcional, Phabricator és cada cop més popular a la comunitat de programari de codi obert.

En aquest article, us mostraré com instal·lar Phabricator en una instància del servidor Vultr CentOS 7.

Requisits previs

  • Desplegueu una instància de servidor Vultr CentOS 7 des de zero;
  • Inicieu sessió des del terminal SSH amb un usuari sudo que no sigui root.

Pas 1: actualització del sistema

Actualitzeu el vostre sistema CentOS 7 i, a continuació, reinicieu:

yum update -y && shutdown -r now

Un cop arrenqui el sistema, inicieu sessió com a usuari no root amb accés sudo.

Pas 2: instal·leu MariaDB

Instal·leu el servidor MariaDB:

sudo yum install mariadb mariadb-server

Inicieu i activeu el servei MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Per motius de seguretat, executeu la utilitat d'instal·lació segura de MySQL:

sudo /usr/bin/mysql_secure_installation

Finalitzeu aquest procés d'acord amb les instruccions següents:

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password:<your-password>
Re-enter new password:<your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Pas 3: instal·leu Apache

Instal·leu el servidor web Apache mitjançant YUM:

sudo yum install httpd

Modifiqueu la configuració per defecte per millorar la seguretat:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Inicieu i activeu el servei Apache:

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Pas 4: instal·leu PHP

Instal·leu PHP i les extensions necessàries:

sudo yum install php php-mysqli php-mbstring php-gd php-curl php-cli php-common php-process

Pas 5: instal·leu git

sudo yum install git

Pas 6: Baixeu i instal·leu Phabricator

cd ~
mkdir phabricator
cd phabricator
git clone https://github.com/phacility/libphutil.git
git clone https://github.com/phacility/arcanist.git
git clone https://github.com/phacility/phabricator.git
cd ~
sudo chown -R apache: ~/phabricator
sudo mv ~/phabricator /var/www/html

Pas 7: configureu un host virtual per a Phabricator

sudo vi /etc/httpd/conf.d/phabricator.conf

Omple el següent segment de codi:

Nota: Cal substituir [email protected], phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, i /var/log/httpd/phabricator.example.com-access_logamb els seus propis valors.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/phabricator/phabricator/webroot/
    ServerName phabricator.example.com
    ServerAlias www.phabricator.example.com
    RewriteEngine on
    RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
    RewriteRule ^/favicon.ico   -                       [L,QSA]
    RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]
    <Directory /var/www/html/phabricator/phabricator/webroot/>
        AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/phabricator.example.com-error_log
    CustomLog /var/log/httpd/phabricator.example.com-access_log common
</VirtualHost>

Desa i surt:

:wq

Reinicieu el servei Apache per tal de posar en pràctica les vostres modificacions:

sudo systemctl restart httpd.service

Pas 8: configureu les credencials de MariaDB per a Phabricator

Abans de poder utilitzar Phabricator, heu de configurar les credencials de MariaDB:

cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set mysql.host localhost
sudo ./bin/config set mysql.port 3306
sudo ./bin/config set mysql.user root
sudo ./bin/config set mysql.pass <your-MySQL-root-password>

Ompliu els esquemes Phabricator:

./bin/storage upgrade

Durant aquest procés, heu d'introduir "y" dues vegades:

Before running storage upgrades, you should take down the Phabricator web
interface and stop any running Phabricator daemons (you can disable this
warning with --force).

    Are you ready to continue? [y/N] y

...

MySQL needs to copy table data to make some adjustments, so these migrations may take some time.

    Fix these schema issues? [y/N] y

Pas 9: modifiqueu les regles del tallafoc i configureu un compte d'administrador de Phabricator

Heu de permetre el trànsit entrant al port HTTP predeterminat 80:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

A continuació, utilitzeu el vostre navegador web per visitar:

http://<your-Vultr-server-IP>

Se us presentarà la pàgina web de registre de Phabricator. Creeu un compte d'administrador per a la gestió diària.

Ara, fem una ullada a com configurar Phabricator.

Pas 10: solucioneu els problemes de configuració no resolts

Abans de poder utilitzar Phabricator amb tranquil·litat, heu de solucionar diversos problemes de configuració. El nombre de problemes de configuració varia, en el meu cas, n'hi havia 16. Anem a resoldre'ls un per un.

Problema 1: URI base no configurat

Feu clic a l'enllaç "URI base no configurat" per accedir a la pàgina de detalls del problema en què podeu obtenir més informació sobre aquest problema.

Per solucionar aquest problema, heu d'executar les ordres següents al vostre terminal SSH. Assegureu-vos d'utilitzar l'adreça IP adequada.

cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set phabricator.base-uri 'http://<your-Vultr-server-IP>'

A continuació, al navegador web, feu clic al botó "Recarrega la pàgina" a la pàgina de detalls del problema. Si la reparació ha funcionat, el text de la pàgina es convertirà en "Problema resolt". Feu clic a l'enllaç "Torna a la llista oberta de problemes" per investigar altres problemes.

Problema 2: no s'ha configurat cap proveïdor d'autenticació

Click the "No Authentication Providers Configured" link to get into the issue details page.

In order to fix this issue, you need to specify the authentication provider.

Click the "Auth Application" link and then the "+ Add Provider" button to get into the "Add Auth Provider" page. Choose an appropriate authentication provider, and then click the "Continue" button. Here I chose "Username/Password".

In the "Add Auth Provider: Username/Password" page, you can review more detailed settings, then click the "Add Provider" button.

You can add more authentication providers in the same fashion, but for now, click the "You have X unresolved setup issues..." link to handle other issues.

Issue 3: Phabricator Daemons Are Not Running

Feu clic a l'enllaç "Els dimonis Phabricator no s'executen" per entrar a la pàgina de detalls.

Per resoldre aquest problema, executeu l'ordre següent al vostre terminal SSH:

cd /var/www/html/phabricator/phabricator/
./bin/phd start

Feu clic al botó "Recarrega la pàgina" per confirmar el resultat.

Problema 4: PHP post_max_sizeno configurat

Executeu les ordres següents al vostre terminal SSH per solucionar aquest problema:

sudo sed -i "s/post_max_size = 8M/post_max_size = 32M/" /etc/php.ini
sudo systemctl restart httpd.service

Feu clic al botó "Recarrega la pàgina" per confirmar les vostres modificacions.

Problema 5-10: problemes relacionats amb MySQL

Hi ha sis problemes relacionats amb MySQL en total:

  • Petit " paquet màxim permès " de MySQL
  • MySQL STRICT ALL TABLES Mode no establert
  • MySQL està utilitzant el fitxer de paraules clau predeterminat
  • MySQL està utilitzant la longitud mínima de paraula predeterminada
  • MySQL està utilitzant la sintaxi booleana predeterminada
  • MySQL pot funcionar lentament

Per comoditat, arreglem-los en un sol lot.

Al vostre terminal SSH, editeu el fitxer de configuració de MySQL amb vi:

sudo vi /etc/my.cnf

Sota les tres línies de la part superior:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

Afegeix les sis línies següents:

max_allowed_packet=32M
sql_mode=STRICT_ALL_TABLES
ft_stopword_file=/var/www/html/phabricator/phabricator/resources/sql/stopwords.txt
ft_min_word_len=3
ft_boolean_syntax=' |-><()~*:""&^'
innodb_buffer_pool_size=1600M        # about 40% of your system memory

Avís: heu d'establir una mida adequada del grup de memòria intermèdia Innodb segons la mida específica del vostre servidor. Normalment, la mida de l'agrupació de memòria intermèdia d'Innodb hauria de ser al voltant del 40% de la quantitat de memòria de la vostra màquina. Per exemple, si utilitzeu una màquina amb memòria 4G, la mida raonable del grup de memòria intermèdia Innodb seria de 1600 M. En cas que utilitzeu una màquina amb poca memòria (com ara 768M), potser haureu d'assignar una mida inferior al 40% de la quantitat de memòria de la vostra màquina (per exemple, 220M) per estalviar més memòria per al sistema.

Desa i surt:

:wq

Reinicieu el servei MariaDB:

sudo systemctl restart mariadb.service

Finalment, executeu l'ordre següent:

mysql -u root -p -e "REPAIR TABLE phabricator_search.search_documentfield"

Feu clic al botó "Recarrega la pàgina" per examinar els vostres esforços.

Problema 11: instal·leu Pygments per millorar el ressaltat sintaxi

A CentOS 7, Pygments s'ha instal·lat però no s'ha habilitat de manera predeterminada, cal que l'habiliteu manualment:

Feu clic a l'enllaç: Editeu "pygments.enabled", trieu "Utilitza Pygments" al menú desplegable "Valor de la base de dades" i, a continuació, feu clic al botó "Desa l'entrada de configuració".

Problema 12: la zona horària del servidor no està configurada

Modifica el php.inifitxer:

sudo vi /etc/php.ini

Substitueix la línia:

;date.timezone =

Amb:

date.timezone = America/Los_Angeles

Desa i surt:

:wq

Nota: "Amèrica / Los_Angeles" és el valor de zona horària de la meva màquina, cal trobar el valor de zona horària corresponent a la seva pròpia instància de servidor aquí .

Reinicieu el servei Apache:

sudo systemctl restart httpd.service

Feu clic al botó "Recarrega la pàgina" per examinar el resultat.

Problema 13: emmagatzematge de fitxers grans no configurat

Heu de desplegar una solució adequada d'emmagatzematge de fitxers grans segons la vostra pròpia configuració. De moment, podeu fer clic al botó "Ignora el problema de configuració" per saltar-lo.

Problema 14: domini de fitxers alternatiu no configurat

Suposem que heu configurat un domini de fitxer alternatiu o un CDN i, a continuació, al terminal SSH:

cd /var/www/html/phabricator/phabricator/
sudo ./bin/config set security.alternate-file-domain <https://files.example.com>

Feu clic al botó "Recarrega la pàgina" per examinar el resultat.

Problema 15: Falta la ruta local del repositori

Utilitzeu les ordres següents per resoldre aquest problema:

sudo mkdir /var/repo
sudo chown apache: /var/repo

Feu clic al botó "Recarrega la pàgina" per examinar el resultat.

Problema 16: l'extensió PHP 'APC' no està instal·lada

sudo yum install php-pear php-devel httpd-devel pcre-devel gcc make
sudo pecl install apc

Durant el procés d'instal·lació d'APC, premeu sempre Intro per utilitzar l'opció predeterminada.

sudo vi /etc/php.ini

Afegiu les quatre línies al final del fitxer:

extension=apc.so
apc.write_lock = On
apc.slam_defense = Off
apc.stat = Off

Desa i surt:

:wq

Reinicieu el servei Apache:

sudo systemctl restart httpd.service

Feu clic al botó "Recarrega la pàgina" per comprovar el resultat.

Això és tot. Feliç codificació!


Leave a Comment

Instal·leu Plesk a CentOS 7

Instal·leu Plesk a CentOS 7

Utilitzeu un sistema diferent? Plesk és un tauler de control d'amfitrió web propietari que permet als usuaris administrar els seus llocs web personals i/o de clients, bases de dades

Com instal·lar Squid Proxy a CentOS

Com instal·lar Squid Proxy a CentOS

Squid és un popular programa Linux gratuït que us permet crear un servidor intermediari web de reenviament. En aquesta guia, veureu com instal·lar Squid a CentOS per convertir-vos-hi

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Introducció Lighttpd és una bifurcació d'Apache destinada a ser molt menys intensiu en recursos. És lleuger, d'aquí el seu nom, i és bastant senzill d'utilitzar. Instal·lant

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Recentment, VULTR ha fet canvis al seu extrem, i ara tot hauria de funcionar bé des de la caixa amb NetworkManager habilitat. Si voleu desactivar

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Icinga2 és un sistema de supervisió potent i, quan s'utilitza en un model de client mestre, pot substituir la necessitat de controls de monitoratge basats en NRPE. El mestre-client

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Utilitzeu un sistema diferent? Apache Cassandra és un sistema de gestió de bases de dades NoSQL gratuït i de codi obert dissenyat per proporcionar escalabilitat, alta

Com instal·lar Microweber a CentOS 7

Com instal·lar Microweber a CentOS 7

Utilitzeu un sistema diferent? Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia us mostrarà

Com instal·lar Vanilla Forum a CentOS 7

Com instal·lar Vanilla Forum a CentOS 7

Utilitzeu un sistema diferent? Vanilla Forum és una aplicació de fòrum de codi obert escrita en PHP. És totalment personalitzable, fàcil d'utilitzar i admet externa

Com instal·lar Mattermost 4.1 a CentOS 7

Com instal·lar Mattermost 4.1 a CentOS 7

Utilitzeu un sistema diferent? Mattermost és una alternativa autoallotjada de codi obert al servei de missatgeria Slack SAAS. En altres paraules, amb Mattermost, ca

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Què necessitareu Un Vultr VPS amb almenys 1 GB de RAM. Accés SSH (amb privilegis d'arrel/administrador). Pas 1: instal·lació de BungeeCord Primer de tot

Permet xifrar a Plesk

Permet xifrar a Plesk

El tauler de control de Plesk inclou una integració molt agradable per Lets Encrypt. Lets Encrypt és un dels únics proveïdors SSL que ofereix certificats complets

Permet xifrar a cPanel

Permet xifrar a cPanel

Lets Encrypt és una autoritat de certificació dedicada a proporcionar certificats SSL de manera gratuïta. cPanel ha creat una integració perfecta perquè tu i el teu client

Com instal·lar Concrete5 a CentOS 7

Com instal·lar Concrete5 a CentOS 7

Utilitzeu un sistema diferent? Concrete5 és un CMS de codi obert que ofereix moltes característiques distintives i útils per ajudar els editors a produir continguts fàcilment i

Com instal·lar el tauler de revisió a CentOS 7

Com instal·lar el tauler de revisió a CentOS 7

Utilitzeu un sistema diferent? Review Board és una eina gratuïta i de codi obert per revisar el codi font, la documentació, les imatges i molts més. És un programari basat en web

Configura lautenticació HTTP amb Nginx a CentOS 7

Configura lautenticació HTTP amb Nginx a CentOS 7

En aquesta guia, aprendràs a configurar l'autenticació HTTP per a un servidor web Nginx que s'executa a CentOS 7. Requisits Per començar, necessitareu el

Com instal·lar GoAccess a CentOS 7

Com instal·lar GoAccess a CentOS 7

Utilitzeu un sistema diferent? GoAccess és un analitzador de registres web de codi obert. Podeu utilitzar-lo per analitzar els registres en temps real al terminal o

Com instal·lar YOURLS a CentOS 7

Com instal·lar YOURLS a CentOS 7

YOURLS (Your Own URL Shortener) és una aplicació d'anàlisi de dades i escurçament d'URL de codi obert. En aquest article, tractarem el procés d'instal·lació

Com instal·lar i configurar ArangoDB a CentOS 7

Com instal·lar i configurar ArangoDB a CentOS 7

Utilitzeu un sistema diferent? Introducció ArangoDB és una base de dades NoSQL de codi obert amb un model de dades flexible per a documents, gràfics i claus-valors. És

Utilitzant Etckeeper per al control de versions de /etc

Utilitzant Etckeeper per al control de versions de /etc

Introducció El directori /etc/ té un paper crític en el funcionament d'un sistema Linux. La raó d'això és perquè gairebé totes les configuracions del sistema

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Molts administradors de sistemes gestionen grans quantitats de servidors. Quan s'hagi d'accedir als fitxers a través de diferents servidors, inicieu sessió a cadascun individualment ca

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació