Phabricator installeren en configureren op CentOS 7

Phabricator is een geavanceerd open source softwareontwikkelingsplatform dat kan worden gebruikt om:

  • Bekijk en audit code.
  • Host Git / Hg / SVN-opslagplaatsen.
  • Volg bugs.
  • Beheer projecten.
  • Communiceer met teamleden.
  • En doe nog veel meer!

Dankzij de overvloedige functies en uitzonderlijke prestaties wordt Phabricator steeds populairder in de open source-softwaregemeenschap.

In dit artikel laat ik je zien hoe je Phabricator installeert op een Vultr CentOS 7 serverinstantie.

Vereisten

  • Een volledig nieuwe Vultr CentOS 7-serverinstantie implementeren;
  • Log in vanaf de SSH-terminal met een niet-root sudo-gebruiker.

Stap 1: Systeemupdate

Update uw CentOS 7-systeem en start vervolgens opnieuw op:

yum update -y && shutdown -r now

Nadat het systeem is opgestart, meldt u zich aan als een niet-rootgebruiker met sudo-toegang.

Stap 2: Installeer MariaDB

Installeer de MariaDB-server:

sudo yum install mariadb mariadb-server

Start en schakel de MariaDB-service in:

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

Om veiligheidsredenen voert u het MySQL-hulpprogramma voor veilige installatie uit:

sudo /usr/bin/mysql_secure_installation

Voltooi dit proces volgens de onderstaande instructies:

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

Stap 3: Installeer Apache

Installeer de Apache-webserver met YUM:

sudo yum install httpd

Wijzig de standaardconfiguratie om de beveiliging te verbeteren:

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

Start en schakel de Apache-service in:

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

Stap 4: Installeer PHP

Installeer PHP en de nodige extensies:

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

Stap 5: Installeer git

sudo yum install git

Stap 6: Download en installeer 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

Stap 7: Stel een virtuele host in voor Phabricator

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

Vul het volgende codesegment in:

Opmerking: Je moet vervangen [email protected], phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, en /var/log/httpd/phabricator.example.com-access_logdoor uw eigen waarden.

<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>

Opslaan en afsluiten:

:wq

Start de Apache-service opnieuw op om uw wijzigingen door te voeren:

sudo systemctl restart httpd.service

Stap 8: stel de MariaDB-inloggegevens in voor Phabricator

Voordat u Phabricator kunt gebruiken, moet u de MariaDB-inloggegevens instellen:

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>

Vul Phabricator-schema's in:

./bin/storage upgrade

Tijdens dit proces moet u "y" tweemaal invoeren:

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

Stap 9: Wijzig de firewallregels en stel een Phabricator-beheerdersaccount in

U moet inkomend verkeer toestaan ​​op standaard HTTP-poort 80:

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

Gebruik vervolgens uw webbrowser om te bezoeken:

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

U krijgt de Phabricator-registratie-webpagina te zien. Maak een beheerdersaccount aan voor dagelijks beheer.

Laten we nu eens kijken hoe we Phabricator kunnen configureren.

Stap 10: Los onopgeloste installatieproblemen op

Voordat u Phabricator met een gerust hart kunt gebruiken, moet u verschillende installatieproblemen oplossen. Het aantal installatieproblemen varieert, in mijn geval waren het er 16. Laten we ze één voor één oplossen.

Probleem 1: basis-URI niet geconfigureerd

Klik op de link "Basis-URI niet geconfigureerd" om naar de pagina met probleemdetails te gaan waar u meer over dit probleem kunt lezen.

Om dit probleem op te lossen, moet u de volgende opdrachten op uw SSH-terminal uitvoeren. Zorg ervoor dat u het juiste IP-adres gebruikt.

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

Klik vervolgens in uw webbrowser op de knop "Pagina opnieuw laden" op de pagina met probleemdetails. Als uw reparatie is gelukt, wordt de tekst op de pagina 'Probleem opgelost'. Klik op de link "Terug naar lijst met openstaande problemen" om andere problemen te onderzoeken.

Probleem 2: geen verificatieproviders geconfigureerd

Klik op de link "Geen verificatieproviders geconfigureerd" om naar de pagina met probleemdetails te gaan.

Om dit probleem op te lossen, moet u de authenticatieleverancier specificeren.

Klik op de link "Auth Application" en vervolgens op de knop "+ Provider toevoegen" om naar de pagina "Add Auth Provider" te gaan. Kies een geschikte authenticatieleverancier en klik vervolgens op de knop "Doorgaan". Hier koos ik "gebruikersnaam / wachtwoord".

Op de pagina "Auth-provider toevoegen: gebruikersnaam / wachtwoord" kunt u meer gedetailleerde instellingen bekijken en vervolgens op de knop "Provider toevoegen" klikken.

U kunt op dezelfde manier meer authenticatieleveranciers toevoegen, maar klik voor nu op de link "U hebt X onopgeloste installatieproblemen ..." om andere problemen op te lossen.

Kwestie 3: Phabricator-daemons draaien niet

Klik op de link "Phabricator Daemons Are Not Running" om de detailpagina te openen.

Om dit probleem op te lossen, voert u de onderstaande opdracht uit op uw SSH-terminal:

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

Klik op de knop "Pagina opnieuw laden" om het resultaat te bevestigen.

Kwestie 4: PHP post_max_sizeniet geconfigureerd

Voer de volgende opdrachten uit op uw SSH-terminal om dit probleem op te lossen:

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

Klik op de knop "Pagina opnieuw laden" om uw wijzigingen te bevestigen.

Kwestie 5-10: MySQL-gerelateerde problemen

Er zijn in totaal zes MySQL-gerelateerde problemen:

  • Klein MySQL "maximaal toegestaan pakket"
  • MySQL STRIKT ALLE TABELLEN Modus niet ingesteld
  • MySQL gebruikt het standaard stopwoordbestand
  • MySQL gebruikt de standaard minimale woordlengte
  • MySQL gebruikt de standaard Booleaanse syntaxis
  • MySQL werkt mogelijk langzaam

Laten we ze gemakshalve in één batch repareren.

Bewerk op uw SSH-terminal het MySQL-configuratiebestand met vi:

sudo vi /etc/my.cnf

Onder de drie lijnen bovenaan:

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

Voeg de zes onderstaande regels toe:

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

Waarschuwing: u moet een juiste Innodb-bufferpoolgrootte instellen op basis van uw specifieke servergrootte. Gewoonlijk moet de Innodb-bufferpool ongeveer 40% van de hoeveelheid geheugen van uw machine bedragen. Als u bijvoorbeeld een machine met 4G-geheugen gebruikt, is de redelijke Innodb-bufferpoolgrootte 1600M. Als u een machine gebruikt met weinig geheugen (zoals 768M), moet u mogelijk een grootte toewijzen van minder dan 40% van de hoeveelheid geheugen van uw machine (zeg 220M) om meer geheugen voor het systeem te besparen.

Opslaan en afsluiten:

:wq

Start de MariaDB-service opnieuw:

sudo systemctl restart mariadb.service

Voer ten slotte de volgende opdracht uit:

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

Klik op de knop "Pagina opnieuw laden" om uw inspanningen te onderzoeken.

Kwestie 11: Installeer Pygments om de accentuering van de syntaxis te verbeteren

Op CentOS 7 is Pygments geïnstalleerd maar standaard niet ingeschakeld, u moet het handmatig inschakelen:

Klik op de link: "pygments.enabled" bewerken, kies "Pygments gebruiken" in het vervolgkeuzemenu "Databasewaarde" en klik vervolgens op de knop "Config-item opslaan".

Kwestie 12: Servertijdzone niet geconfigureerd

Wijzig het php.inibestand:

sudo vi /etc/php.ini

Vervang de regel:

;date.timezone =

Met:

date.timezone = America/Los_Angeles

Opslaan en afsluiten:

:wq

Opmerking: "America / Los_Angeles" is de tijdzone-waarde van mijn machine, u moet hier de juiste tijdzone-waarde voor uw eigen serverinstantie vinden .

Start de Apache-service opnieuw:

sudo systemctl restart httpd.service

Klik op de knop "Pagina opnieuw laden" om het resultaat te bekijken.

Kwestie 13: Opslag van grote bestanden niet geconfigureerd

U moet een goede opslagoplossing voor grote bestanden implementeren volgens uw eigen instelling. Voor nu kunt u op de knop "Installatieprobleem negeren" klikken om over te slaan.

Kwestie 14: Alternatief bestandsdomein niet geconfigureerd

Stel dat u een alternatief bestandsdomein of een CDN heeft ingesteld en vervolgens in de SSH-terminal:

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

Klik op de knop "Pagina opnieuw laden" om het resultaat te bekijken.

Kwestie 15: Ontbrekend lokaal pad van opslagplaats

Gebruik de volgende opdrachten om dit probleem op te lossen:

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

Klik op de knop "Pagina opnieuw laden" om het resultaat te bekijken.

Kwestie 16: PHP-extensie 'APC' niet geïnstalleerd

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

Druk tijdens het installatieproces van APC altijd op Enter om de standaardoptie te gebruiken.

sudo vi /etc/php.ini

Voeg de vier regels toe aan het einde van het bestand:

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

Opslaan en afsluiten:

:wq

Start de Apache-service opnieuw:

sudo systemctl restart httpd.service

Klik op de knop "Pagina opnieuw laden" om het resultaat te controleren.

Dat is alles. Veel plezier met coderen!



CyberPanel installeren en configureren op uw CentOS 7-server

CyberPanel installeren en configureren op uw CentOS 7-server

Gebruikt u een ander systeem? Introductie CyberPanel is een van de eerste bedieningspanelen op de markt die zowel open source is als OpenLiteSpeed ​​gebruikt. Wat thi

Sensu Monitoring installeren en configureren op CentOS 7

Sensu Monitoring installeren en configureren op CentOS 7

Introductie Sensu is een gratis en open source monitoringoplossing die kan worden gebruikt om server, applicatie en verschillende systeemservices te monitoren. Sensu i

Sudo gebruiken op Debian, CentOS en FreeBSD

Sudo gebruiken op Debian, CentOS en FreeBSD

Het gebruik van een sudo-gebruiker om toegang te krijgen tot een server en opdrachten uit te voeren op rootniveau is een veel voorkomende praktijk onder Linux en Unix-systeembeheerder. Het gebruik van een sud

Stel Nginx-RTMP in op CentOS 7

Stel Nginx-RTMP in op CentOS 7

Gebruikt u een ander systeem? RTMP is geweldig voor het weergeven van live inhoud. Wanneer RTMP is gekoppeld aan FFmpeg, kunnen streams worden omgezet in verschillende kwaliteiten. Vultr ik

Hoe TaskBoard 0.3.1 op CentOS 7 te installeren

Hoe TaskBoard 0.3.1 op CentOS 7 te installeren

TaskBoard is een gratis en open source webbeheer voor tijdbeheer. Geïnspireerd door Kanban, kan TaskBoard u helpen bij het bijhouden van dingen die moeten worden gedaan in een

Gradle installeren op CentOS 7

Gradle installeren op CentOS 7

Gebruikt u een ander systeem? Gradle is een gratis en open source toolset voor het automatiseren van builds, gebaseerd op de concepten van Apache Ant en Apache Maven. Gradle biedt

Installeer een FTP-server met ProFTPd op CentOS 6 of CentOS 7

Installeer een FTP-server met ProFTPd op CentOS 6 of CentOS 7

Gebruikt u een ander systeem? In deze handleiding zullen we zien hoe u een FTP-server (ProFTPd) configureert om bestanden over te zetten tussen uw pc en uw server.

Netdata installeren op CentOS 7

Netdata installeren op CentOS 7

Gebruikt u een ander systeem? Netdata is een rijzende ster op het gebied van realtime monitoring van systeemstatistieken. Vergeleken met andere tools van dezelfde soort, Netdata:

Hoe Apache Cassandra 3.11.x op CentOS 7 te installeren

Hoe Apache Cassandra 3.11.x op CentOS 7 te installeren

Gebruikt u een ander systeem? Apache Cassandra is een gratis en open source NoSQL-databasebeheersysteem dat is ontworpen om schaalbaarheid te bieden

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

In deze tutorial leer je goed hoe je een Just Cause 2 multiplayer-server opzet. Vereisten Zorg ervoor dat het systeem volledig is bijgewerkt voordat we beginnen

Hoe Starbound Server op CentOS 7 te installeren

Hoe Starbound Server op CentOS 7 te installeren

Gebruikt u een ander systeem? In deze tutorial leg ik uit hoe je een Starbound-server instelt op CentOS 7. Vereisten Je moet dit spel op je hebben

ZNC installeren en configureren op CentOS 7

ZNC installeren en configureren op CentOS 7

ZNC is een gratis en open-source IRC-uitsmijter die permanent verbonden blijft met een netwerk, zodat klanten berichten kunnen ontvangen die worden verzonden terwijl ze offline zijn. Thi

Django installeren op CentOS 7

Django installeren op CentOS 7

Django is een populair Python-framework voor het schrijven van webapplicaties. Met Django kun je sneller applicaties bouwen, zonder het wiel opnieuw uit te vinden. Als je wilt

MantisBT 2.5 installeren op CentOS 7

MantisBT 2.5 installeren op CentOS 7

MantisBT, of Mantis Bug Tracker, is een open source issue tracker geschreven in PHP. MantisBT is uitgebalanceerd tussen gebruiksgemak en functionaliteit, mits

Installeer Elgg op CentOS 7

Installeer Elgg op CentOS 7

Gebruikt u een ander systeem? Elgg is een open source engine voor sociaal netwerken waarmee sociale omgevingen kunnen worden gecreëerd, zoals sociale campusnetwerken

Hoe installeer ik het Froxlor Server Management Panel op CentOS 7

Hoe installeer ik het Froxlor Server Management Panel op CentOS 7

Froxlor is een open source, gratis, lichtgewicht en toch krachtig serverbeheerpaneel dat geweldig is voor het opzetten en beheren van webhostingservices. Thi

Hoe Alfresco Community Edition op CentOS 7 te installeren

Hoe Alfresco Community Edition op CentOS 7 te installeren

Gebruikt u een ander systeem? Alfresco Community Edition is een open source-versie van de Alfresco Content Services. Het is geschreven in Java en gebruikt PostgreSQL t

Hoe Vtiger CRM Open Source Edition op CentOS 7 te installeren

Hoe Vtiger CRM Open Source Edition op CentOS 7 te installeren

Vtiger CRM is een populaire applicatie voor klantrelatiebeheer die bedrijven kan helpen hun verkoop te laten groeien, klantenservice te bieden en de winst te vergroten. ik

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Wat je nodig hebt Een Vultr VPS met minimaal 1 GB RAM. SSH-toegang (met root- / beheerdersrechten). Stap 1: BungeeCord installeren Eerste dingen eerst

Hoe MaraDNS op CentOS 6 te installeren

Hoe MaraDNS op CentOS 6 te installeren

MaraDNS is een lichtgewicht maar robuust open source DNS-serverprogramma. Vergeleken met andere applicaties van dezelfde soort, zoals ISC BIND, PowerDNS en djbdns

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.