So installieren und konfigurieren Sie Phabricator unter CentOS 7

Phabricator ist eine fortschrittliche Open-Source-Softwareentwicklungsplattform, mit der:

  • Code überprüfen und prüfen.
  • Host Git / Hg / SVN-Repos.
  • Verfolgen Sie Fehler.
  • Projekte verwalten.
  • Kommunizieren Sie mit Teammitgliedern.
  • Und mach noch viel mehr!

Dank seiner zahlreichen Funktionen und außergewöhnlichen Leistung wird Phabricator in der Open-Source-Software-Community immer beliebter.

In diesem Artikel werde ich Ihnen zeigen, wie Sie Phabricator auf einer Vultr CentOS 7-Serverinstanz installieren.

Voraussetzungen

  • Stellen Sie eine Vultr CentOS 7-Serverinstanz von Grund auf neu bereit.
  • Melden Sie sich vom SSH-Terminal mit einem Nicht-Root-Sudo-Benutzer an.

Schritt 1: Systemaktualisierung

Aktualisieren Sie Ihr CentOS 7-System und starten Sie es neu:

yum update -y && shutdown -r now

Melden Sie sich nach dem Systemstart als Nicht-Root-Benutzer mit Sudo-Zugriff an.

Schritt 2: Installieren Sie MariaDB

Installieren Sie den MariaDB-Server:

sudo yum install mariadb mariadb-server

Starten und aktivieren Sie den MariaDB-Dienst:

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

Führen Sie aus Sicherheitsgründen das sichere Installationsprogramm MySQL aus:

sudo /usr/bin/mysql_secure_installation

Beenden Sie diesen Vorgang gemäß den folgenden Anweisungen:

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

Schritt 3: Installieren Sie Apache

Installieren Sie den Apache-Webserver mit YUM:

sudo yum install httpd

Ändern Sie die Standardkonfiguration, um die Sicherheit zu verbessern:

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

Starten und aktivieren Sie den Apache-Dienst:

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

Schritt 4: Installieren Sie PHP

Installieren Sie PHP und die erforderlichen Erweiterungen:

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

Schritt 5: Git installieren

sudo yum install git

Schritt 6: Laden Sie Phabricator herunter und installieren Sie es

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

Schritt 7: Richten Sie einen virtuellen Host für Phabricator ein

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

Füllen Sie das folgende Codesegment aus:

Hinweis: Sie müssen ersetzen admin@example.com, phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, und /var/log/httpd/phabricator.example.com-access_logmit Ihren eigenen Werten.

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

Speichern und Beenden:

:wq

Starten Sie den Apache-Dienst neu, um Ihre Änderungen zu übernehmen:

sudo systemctl restart httpd.service

Schritt 8: Richten Sie die MariaDB-Anmeldeinformationen für Phabricator ein

Bevor Sie Phabricator verwenden können, müssen Sie die MariaDB-Anmeldeinformationen einrichten:

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>

Phabricator-Programme bevölkern:

./bin/storage upgrade

Während dieses Vorgangs müssen Sie zweimal "y" eingeben:

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

Schritt 9: Ändern Sie die Firewall-Regeln und richten Sie ein Phabricator-Administratorkonto ein

Sie müssen eingehenden Datenverkehr auf dem Standard-HTTP-Port 80 zulassen:

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

Verwenden Sie dann Ihren Webbrowser, um Folgendes zu besuchen:

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

Sie erhalten die Webseite zur Registrierung von Phabricator. Erstellen Sie ein Administratorkonto für die tägliche Verwaltung.

Schauen wir uns nun an, wie Phabricator konfiguriert wird.

Schritt 10: Beheben Sie ungelöste Setup-Probleme

Bevor Sie Phabricator beruhigt verwenden können, müssen Sie einige Setup-Probleme beheben. Die Anzahl der Setup-Probleme variiert, in meinem Fall waren es 16. Lösen wir sie nacheinander.

Problem 1: Basis-URI nicht konfiguriert

Klicken Sie auf den Link "Basis-URI nicht konfiguriert", um zur Seite mit den Problemdetails zu gelangen, auf der Sie weitere Informationen zu diesem Problem erhalten.

Um dieses Problem zu beheben, müssen Sie die folgenden Befehle auf Ihrem SSH-Terminal ausführen. Stellen Sie sicher, dass Sie die richtige IP-Adresse verwenden.

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

Klicken Sie dann in Ihrem Webbrowser auf der Seite mit den Problemdetails auf die Schaltfläche "Seite neu laden". Wenn Ihre Reparatur funktioniert hat, wird der Text auf der Seite zu "Problem behoben". Klicken Sie auf den Link "Zurück zur offenen Problemliste", um andere Probleme zu untersuchen.

Problem 2: Keine Authentifizierungsanbieter konfiguriert

Klicken Sie auf den Link "Keine Authentifizierungsanbieter konfiguriert", um zur Seite mit den Problemdetails zu gelangen.

Um dieses Problem zu beheben, müssen Sie den Authentifizierungsanbieter angeben.

Klicken Sie auf den Link "Auth Application" und dann auf die Schaltfläche "+ Add Provider", um zur Seite "Add Auth Provider" zu gelangen. Wählen Sie einen geeigneten Authentifizierungsanbieter und klicken Sie dann auf die Schaltfläche "Weiter". Hier habe ich "Benutzername / Passwort" gewählt.

Auf der Seite "Authentifizierungsanbieter hinzufügen: Benutzername / Kennwort" können Sie detailliertere Einstellungen überprüfen und dann auf die Schaltfläche "Anbieter hinzufügen" klicken.

Sie können auf die gleiche Weise weitere Authentifizierungsanbieter hinzufügen. Klicken Sie jedoch zunächst auf den Link "Sie haben X ungelöste Setup-Probleme ...", um andere Probleme zu beheben.

Problem 3: Phabricator Daemons werden nicht ausgeführt

Klicken Sie auf den Link "Phabricator-Dämonen laufen nicht", um die Detailseite aufzurufen.

Führen Sie den folgenden Befehl auf Ihrem SSH-Terminal aus, um dieses Problem zu beheben:

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

Klicken Sie auf die Schaltfläche "Seite neu laden", um das Ergebnis zu bestätigen.

Problem 4: PHP post_max_sizenicht konfiguriert

Führen Sie die folgenden Befehle auf Ihrem SSH-Terminal aus, um dieses Problem zu beheben:

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

Klicken Sie auf die Schaltfläche "Seite neu laden", um Ihre Änderungen zu bestätigen.

Problem 5-10: Probleme mit MySQL

Insgesamt gibt es sechs Probleme im Zusammenhang mit MySQL:

  • Kleines MySQL "max erlaubt Paket"
  • MySQL STRICT ALL TABLES-Modus nicht festgelegt
  • MySQL verwendet die Standard-Stoppwortdatei
  • MySQL verwendet die standardmäßige Mindestwortlänge
  • MySQL verwendet die standardmäßige boolesche Syntax
  • MySQL läuft möglicherweise langsam

Beheben wir sie der Einfachheit halber in einer Charge.

Bearbeiten Sie auf Ihrem SSH-Terminal die MySQL-Konfigurationsdatei mit vi:

sudo vi /etc/my.cnf

Unter den drei Zeilen oben:

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

Fügen Sie die folgenden sechs Zeilen hinzu:

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

Warnung: Sie müssen eine geeignete Innodb-Pufferpoolgröße entsprechend Ihrer spezifischen Servergröße festlegen. Normalerweise sollte die Größe des Innodb-Pufferpools etwa 40% der Speicherkapazität Ihres Computers betragen. Wenn Sie beispielsweise einen Computer mit 4 GB Speicher verwenden, beträgt die angemessene Größe des Innodb-Pufferpools 1600 MB. Wenn Sie einen Computer mit wenig Speicher verwenden (z. B. 768 MB), müssen Sie möglicherweise eine Größe von weniger als 40% des Arbeitsspeichers Ihres Computers (z. B. 220 MB) zuweisen, um mehr Speicher für das System zu sparen.

Speichern und Beenden:

:wq

Starten Sie den MariaDB-Dienst neu:

sudo systemctl restart mariadb.service

Führen Sie abschließend den folgenden Befehl aus:

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

Klicken Sie auf die Schaltfläche "Seite neu laden", um Ihre Bemühungen zu überprüfen.

Problem 11: Installieren Sie Pylements, um die Syntaxhervorhebung zu verbessern

Unter CentOS 7 wurde Pylements installiert, aber nicht standardmäßig aktiviert. Sie müssen es manuell aktivieren:

Klicken Sie auf den Link: Bearbeiten Sie "pylements.enabled", wählen Sie "Use Pylements" aus dem Dropdown-Menü "Database Value" und klicken Sie dann auf die Schaltfläche "Save Config Entry".

Problem 12: Server-Zeitzone nicht konfiguriert

Ändern Sie die php.iniDatei:

sudo vi /etc/php.ini

Ersetzen Sie die Leitung:

;date.timezone =

Mit:

date.timezone = America/Los_Angeles

Speichern und Beenden:

:wq

Hinweis: "America / Los_Angeles" ist der Zeitzonenwert meines Computers. Hier müssen Sie den entsprechenden Zeitzonenwert für Ihre eigene Serverinstanz finden .

Starten Sie den Apache-Dienst neu:

sudo systemctl restart httpd.service

Klicken Sie auf die Schaltfläche "Seite neu laden", um das Ergebnis zu überprüfen.

Problem 13: Großer Dateispeicher nicht konfiguriert

Sie müssen eine geeignete Speicherlösung für große Dateien gemäß Ihrer eigenen Einstellung bereitstellen. Im Moment können Sie auf die Schaltfläche "Setup-Problem ignorieren" klicken, um zu überspringen.

Problem 14: Alternative Dateidomäne nicht konfiguriert

Angenommen, Sie haben eine alternative Dateidomäne oder ein CDN im SSH-Terminal eingerichtet:

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

Klicken Sie auf die Schaltfläche "Seite neu laden", um das Ergebnis zu überprüfen.

Problem 15: Fehlender lokaler Repository-Pfad

Verwenden Sie die folgenden Befehle, um dieses Problem zu beheben:

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

Klicken Sie auf die Schaltfläche "Seite neu laden", um das Ergebnis zu überprüfen.

Problem 16: PHP-Erweiterung 'APC' nicht installiert

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

Drücken Sie während des Installationsvorgangs von APC immer die Eingabetaste, um die Standardoption zu verwenden.

sudo vi /etc/php.ini

Fügen Sie die vier Zeilen am Ende der Datei hinzu:

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

Speichern und Beenden:

:wq

Starten Sie den Apache-Dienst neu:

sudo systemctl restart httpd.service

Klicken Sie auf die Schaltfläche "Seite neu laden", um das Ergebnis zu überprüfen.

Das ist alles. Viel Spaß beim Codieren!

Einen Kommentar hinterlassen

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.