Sådan installeres og konfigureres Phabricator på CentOS 7

Phabricator er en avanceret open source softwareudviklingsplatform, som kan bruges til at:

  • Gennemgang og revisionskodeks.
  • Host Git/Hg/SVN repos.
  • Spor fejl.
  • Styre projekter.
  • Kommunikere med teammedlemmer.
  • Og gør meget mere!

Takket være dens rigelige funktioner og enestående ydeevne bliver Phabricator mere og mere populær i open source-softwarefællesskabet.

I denne artikel vil jeg vise dig, hvordan du installerer Phabricator på en Vultr CentOS 7-serverinstans.

Forudsætninger

  • Implementer en Vultr CentOS 7-serverinstans fra bunden;
  • Log ind fra SSH-terminalen med en ikke-root sudo-bruger.

Trin 1: Systemopdatering

Opdater dit CentOS 7-system, og genstart derefter:

yum update -y && shutdown -r now

Når systemet er startet, skal du logge ind som en ikke-rootbruger med sudo-adgang.

Trin 2: Installer MariaDB

Installer MariaDB-serveren:

sudo yum install mariadb mariadb-server

Start og aktiver MariaDB-tjenesten:

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

Af sikkerhedsmæssige årsager skal du køre MySQL sikker installationsværktøjet:

sudo /usr/bin/mysql_secure_installation

Afslut denne proces i overensstemmelse med instruktionerne nedenfor:

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

Trin 3: Installer Apache

Installer Apache-webserveren ved hjælp af YUM:

sudo yum install httpd

Rediger standardkonfigurationen for at øge sikkerheden:

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 og aktiver Apache-tjenesten:

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

Trin 4: Installer PHP

Installer PHP og nødvendige udvidelser:

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

Trin 5: Installer git

sudo yum install git

Trin 6: Download og installer 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

Trin 7: Konfigurer en virtuel vært til Phabricator

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

Udfyld følgende kodesegment:

Bemærk: Du skal udskifte admin@example.com, phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, og /var/log/httpd/phabricator.example.com-access_logmed dine egne værdier.

<VirtualHost *:80>
    ServerAdmin admin@example.com
    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>

Gem og luk:

:wq

Genstart Apache-tjenesten for at sætte dine ændringer i kraft:

sudo systemctl restart httpd.service

Trin 8: Konfigurer MariaDB-legitimationsoplysningerne til Phabricator

Før du kan bruge Phabricator, skal du konfigurere MariaDB-legitimationsoplysningerne:

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>

Udfyld Phabricator-skemaer:

./bin/storage upgrade

Under denne proces skal du indtaste "y" to gange:

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

Trin 9: Rediger firewallregler og opsæt en Phabricator-administratorkonto

Du skal tillade indgående trafik på standard HTTP-port 80:

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

Brug derefter din webbrowser til at besøge:

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

Du vil blive præsenteret for Phabricators registreringswebside. Opret en administratorkonto til daglig ledelse.

Lad os nu se på, hvordan du konfigurerer Phabricator.

Trin 10: Løs uløste opsætningsproblemer

Før du kan bruge Phabricator med ro i sindet, skal du løse flere opsætningsproblemer. Antallet af opsætningsproblemer varierer, i mit tilfælde var der 16. Lad os løse dem én efter én.

Problem 1: Basis-URI ikke konfigureret

Klik på linket "Basis-URI ikke konfigureret" for at komme ind på siden med problemdetaljer, hvor du kan lære mere om dette problem.

For at løse dette problem skal du udføre følgende kommandoer på din SSH-terminal. Sørg for at bruge den korrekte IP-adresse.

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

Klik derefter på knappen "Genindlæs side" på siden med problemoplysninger i din webbrowser. Hvis din reparation virkede, bliver teksten på siden "Problem løst". Klik på linket "Return to Open Issue List" for at undersøge andre problemer.

Problem 2: Ingen godkendelsesudbydere konfigureret

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

Klik på linket "Phabricator Daemons Are Not Running" for at gå ind på siden med detaljer.

For at løse dette problem skal du køre kommandoen nedenfor på din SSH-terminal:

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

Klik på knappen "Genindlæs side" for at bekræfte resultatet.

Problem 4: PHP post_max_sizeikke konfigureret

Kør følgende kommandoer på din SSH-terminal for at løse dette problem:

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

Klik på knappen "Genindlæs side" for at bekræfte dine ændringer.

Udgave 5-10: MySQL-relaterede problemer

Der er seks MySQL-relaterede problemer i alt:

  • Lille MySQL "max tilladt pakke"
  • MySQL STRICT ALL TABLES Mode ikke indstillet
  • MySQL bruger standard stopordsfil
  • MySQL bruger standard minimumordlængde
  • MySQL bruger den booleske standardsyntaks
  • MySQL kan køre langsomt

For nemheds skyld, lad os ordne dem i én batch.

På din SSH-terminal skal du redigere MySQL-konfigurationsfilen med vi:

sudo vi /etc/my.cnf

Under de tre linjer øverst:

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

Tilføj de seks linjer nedenfor:

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

Advarsel: Du skal indstille en korrekt Innodb-bufferpuljestørrelse i henhold til din specifikke serverstørrelse. Normalt bør Innodb-bufferpuljens størrelse være omkring 40 % af mængden af ​​din maskines hukommelse. For eksempel, hvis du bruger en maskine med 4G-hukommelse, vil den rimelige Innodb-bufferpuljestørrelse være 1600M. Hvis du bruger en maskine med lidt hukommelse (såsom 768M), skal du muligvis tildele en størrelse på mindre end 40 % af mængden af ​​din maskines hukommelse (f.eks. 220M) for at spare mere hukommelse til systemet.

Gem og luk:

:wq

Genstart MariaDB-tjenesten:

sudo systemctl restart mariadb.service

Kør endelig følgende kommando:

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

Klik på knappen "Genindlæs side" for at undersøge din indsats.

Problem 11: Installer Pygmenter for at forbedre syntaksfremhævning

På CentOS 7 er Pygments blevet installeret, men ikke aktiveret som standard, du skal aktivere det manuelt:

Klik på linket: Rediger "pygments.enabled", vælg "Brug pygmenter" fra rullemenuen "Databaseværdi", og klik derefter på knappen "Gem konfigurationsindgang".

Problem 12: Servertidszone ikke konfigureret

Rediger php.inifilen:

sudo vi /etc/php.ini

Udskift linjen:

;date.timezone =

Med:

date.timezone = America/Los_Angeles

Gem og luk:

:wq

Bemærk: "America/Los_Angeles" er tidszoneværdien for min maskine, du skal finde den passende tidszoneværdi for din egen serverinstans her .

Genstart Apache-tjenesten:

sudo systemctl restart httpd.service

Klik på knappen "Genindlæs side" for at undersøge resultatet.

Problem 13: Stor fillager ikke konfigureret

Du skal implementere en ordentlig lagringsløsning for store filer i henhold til dine egne indstillinger. Indtil videre kan du klikke på knappen "Ignorer installationsproblem" for at springe over.

Problem 14: Alternativt fildomæne ikke konfigureret

Lad os sige, at du har oprettet et alternativt fildomæne eller et CDN, og derefter i SSH-terminalen:

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

Klik på knappen "Genindlæs side" for at undersøge resultatet.

Udgave 15: Manglende depot lokal sti

Brug følgende kommandoer til at løse dette problem:

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

Klik på knappen "Genindlæs side" for at undersøge resultatet.

Problem 16: PHP-udvidelsen 'APC' ikke installeret

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

Under installationsprocessen af ​​APC skal du altid trykke på Enter for at bruge standardindstillingen.

sudo vi /etc/php.ini

Tilføj de fire linjer til slutningen af ​​filen:

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

Gem og luk:

:wq

Genstart Apache-tjenesten:

sudo systemctl restart httpd.service

Klik på knappen "Genindlæs side" for at kontrollere resultatet.

Det er alt. God kodning!

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere