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 [email protected], 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 [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>

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!


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser

Sådan installeres Squid Proxy på CentOS

Sådan installeres Squid Proxy på CentOS

Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer

Konfiguration af statisk netværk og IPv6 på CentOS 7

Konfiguration af statisk netværk og IPv6 på CentOS 7

VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj

Sådan installeres Microweber på CentOS 7

Sådan installeres Microweber på CentOS 7

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres Mattermost 4.1 på CentOS 7

Sådan installeres Mattermost 4.1 på CentOS 7

Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først

Lad os kryptere på Plesk

Lad os kryptere på Plesk

Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af ​​de eneste SSL-udbydere, der udleverer certifikater komplet

Lader kryptere på cPanel

Lader kryptere på cPanel

Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient

Sådan installeres Concrete5 på CentOS 7

Sådan installeres Concrete5 på CentOS 7

Bruger du et andet system? Concrete5 er et open source CMS, som tilbyder mange karakteristiske og nyttige funktioner til at hjælpe redaktører med at producere indhold nemt og

Sådan installeres Review Board på CentOS 7

Sådan installeres Review Board på CentOS 7

Bruger du et andet system? Review Board er et gratis og open source-værktøj til gennemgang af kildekode, dokumentation, billeder og mange flere. Det er webbaseret software

Konfigurer HTTP-godkendelse med Nginx på CentOS 7

Konfigurer HTTP-godkendelse med Nginx på CentOS 7

I denne vejledning lærer du, hvordan du opsætter HTTP-godkendelse for en Nginx-webserver, der kører på CentOS 7. Krav For at komme i gang skal du bruge

Sådan installeres YOURLS på CentOS 7

Sådan installeres YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen

Sådan installeres og konfigureres ArangoDB på CentOS 7

Sådan installeres og konfigureres ArangoDB på CentOS 7

Bruger du et andet system? Introduktion ArangoDB er en open source NoSQL-database med en fleksibel datamodel for dokumenter, grafer og nøgleværdier. det er

Brug af Etckeeper til versionskontrol af /etc

Brug af Etckeeper til versionskontrol af /etc

Introduktion /etc/-biblioteket spiller en afgørende rolle i den måde et Linux-system fungerer på. Årsagen til dette er, at næsten alle systemkonfigurationer

Hvorfor skal du bruge SSHFS? Sådan monteres et eksternt filsystem med SSHFS på CentOS 6

Hvorfor skal du bruge SSHFS? Sådan monteres et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mængder servere. Når filer skal tilgås på tværs af forskellige servere, logges ind på hver enkelt individuelt ca

Opsætning af en Half Life 2-server på CentOS 6

Opsætning af en Half Life 2-server på CentOS 6

Denne vejledning vil dække processen med at installere en Half Life 2-spilserver på CentOS 6 System. Trin 1: Installation af forudsætninger For at opsætte ou

Sådan installeres Laravel GitScrum på CentOS 7

Sådan installeres Laravel GitScrum på CentOS 7

Laravel GitScrum eller GitScrum er et open source-produktivitetsværktøj designet til at hjælpe udviklingsteams med at implementere Scrum-metoden på en måde, der ligner t.

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.

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.

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.

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