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!



Leave a Comment

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.