Como instalar e configurar o Phabricator no CentOS 7

O Phabricator é uma plataforma avançada de desenvolvimento de software de código aberto que pode ser usada para:

  • Revise e audite o código.
  • Host Git / Hg / SVN repositórios.
  • Rastrear bugs.
  • Gerenciar projetos.
  • Comunique-se com os membros da equipe.
  • E faça muito mais!

Graças aos seus recursos abundantes e desempenho excepcional, o Phabricator está se tornando cada vez mais popular na comunidade de software de código aberto.

Neste artigo, mostrarei como instalar o Phabricator em uma instância do servidor Vultr CentOS 7.

Pré-requisitos

  • Implante uma instância do servidor Vultr CentOS 7 do zero;
  • Efetue login no terminal SSH usando um usuário sudo não raiz.

Etapa 1: atualização do sistema

Atualize seu sistema CentOS 7 e, em seguida, reinicie:

yum update -y && shutdown -r now

Após a inicialização do sistema, efetue login como um usuário não raiz com acesso ao sudo.

Etapa 2: Instalar o MariaDB

Instale o servidor MariaDB:

sudo yum install mariadb mariadb-server

Inicie e ative o serviço MariaDB:

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

Por questões de segurança, execute o utilitário de instalação segura do MySQL:

sudo /usr/bin/mysql_secure_installation

Conclua este processo de acordo com as instruções abaixo:

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

Etapa 3: Instale o Apache

Instale o servidor da web Apache usando o YUM:

sudo yum install httpd

Modifique a configuração padrão para aprimorar a segurança:

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

Inicie e ative o serviço Apache:

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

Etapa 4: instalar o PHP

Instale o PHP e as extensões necessárias:

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

Etapa 5: instalar o git

sudo yum install git

Etapa 6: Baixe e instale o 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

Etapa 7: configurar um host virtual para o Phabricator

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

Preencha o seguinte segmento de código:

Nota: É necessário substituir [email protected], phabricator.example.com, www.phabricator.example.com, /var/log/httpd/phabricator.example.com-error_log, e /var/log/httpd/phabricator.example.com-access_logcom os seus próprios valores.

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

Salve e saia:

:wq

Reinicie o serviço Apache para efetivar suas modificações:

sudo systemctl restart httpd.service

Etapa 8: configurar as credenciais do MariaDB para o Phabricator

Antes de poder usar o Phabricator, você precisa configurar as credenciais do MariaDB:

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>

Preencher esquemas de Phabricator:

./bin/storage upgrade

Durante esse processo, você precisa inserir "y" duas vezes:

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

Etapa 9: Modifique as regras do firewall e configure uma conta de administrador do Phabricator

Você precisa permitir o tráfego de entrada na porta HTTP padrão 80:

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

Em seguida, use seu navegador da web para visitar:

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

Você receberá a página da web de registro do Phabricator. Crie uma conta de administrador para gerenciamento diário.

Agora, vamos dar uma olhada em como configurar o Phabricator.

Etapa 10: corrigir problemas de instalação não resolvidos

Antes de poder usar o Phabricator com tranquilidade, é necessário corrigir vários problemas de configuração. O número de problemas de configuração varia, no meu caso, havia 16. Vamos resolvê-los um por um.

Problema 1: URI base não configurado

Clique no link "URI base não configurado" para acessar a página de detalhes do problema, na qual você pode aprender mais sobre esse problema.

Para corrigir esse problema, você precisa executar os seguintes comandos no seu terminal SSH. Certifique-se de usar o endereço IP adequado.

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

Em seguida, no seu navegador da web, clique no botão "Atualizar página" na página de detalhes do problema. Se o reparo tiver funcionado, o texto na página se tornará "Problema resolvido". Clique no link "Voltar à lista de problemas abertos" para investigar outros problemas.

Problema 2: nenhum provedor de autenticação configurado

Clique no link "Nenhum provedor de autenticação configurado" para acessar a página de detalhes do problema.

Para corrigir esse problema, você precisa especificar o provedor de autenticação.

Clique no link "Aplicativo de autenticação" e, em seguida, no botão "+ Adicionar provedor" para acessar a página "Adicionar provedor de autenticação". Escolha um provedor de autenticação apropriado e clique no botão "Continuar". Aqui eu escolhi "Nome de usuário / Senha".

Na página "Adicionar provedor de autenticação: nome de usuário / senha", você pode revisar configurações mais detalhadas e clicar no botão "Adicionar provedor".

Você pode adicionar mais provedores de autenticação da mesma maneira, mas por enquanto, clique no link "Você tem X problemas de instalação não resolvidos ..." para lidar com outros problemas.

Problema 3: Daemons do Phabricator não estão sendo executados

Clique no link "Os daemons do phabricador não estão em execução" para entrar na página de detalhes.

Para resolver esse problema, execute o comando abaixo no seu terminal SSH:

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

Clique no botão "Recarregar página" para confirmar o resultado.

Problema 4: PHP post_max_sizenão configurado

Execute os seguintes comandos no seu terminal SSH para corrigir esse problema:

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

Clique no botão "Recarregar página" para confirmar suas modificações.

Edição 5-10: Problemas relacionados ao MySQL

Existem seis problemas relacionados ao MySQL no total:

  • MySQL pequeno " pacote permitido máximo "
  • MySQL STRICT ALL TABLES Mode Not Set
  • MySQL está usando o arquivo de palavras de parada padrão
  • MySQL está usando o comprimento mínimo padrão da palavra
  • MySQL está usando a sintaxe booleana padrão
  • MySQL pode executar lentamente

Por uma questão de conveniência, vamos corrigi-los em um lote.

No seu terminal SSH, edite o arquivo de configuração do MySQL com vi:

sudo vi /etc/my.cnf

Sob as três linhas no topo:

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

Adicione as seis linhas abaixo:

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

Aviso: Você precisa definir um tamanho de buffer pool adequado do Innodb de acordo com o tamanho do servidor específico. Geralmente, o tamanho do buffer pool do Innodb deve ser de aproximadamente 40% da quantidade de memória da sua máquina. Por exemplo, se você estiver usando uma máquina com memória 4G, o tamanho razoável do buffer pool do Innodb seria 1600M. Caso esteja usando uma máquina com pouca memória (como 768M), pode ser necessário atribuir um tamanho menor que 40% da quantidade de memória da sua máquina (por exemplo, 220M) para economizar mais memória para o sistema.

Salve e saia:

:wq

Reinicie o serviço MariaDB:

sudo systemctl restart mariadb.service

Por fim, execute o seguinte comando:

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

Clique no botão "Recarregar página" para examinar seus esforços.

Problema 11: instalar pigmentos para melhorar o destaque da sintaxe

No CentOS 7, os pigmentos foram instalados, mas não ativados por padrão, você precisa ativá-lo manualmente:

Clique no link: Editar "pygments.enabled", escolha "Use Pygments" no menu suspenso "Database Value" e clique no botão "Save Config Entry".

Problema 12: fuso horário do servidor não configurado

Modifique o php.iniarquivo:

sudo vi /etc/php.ini

Substitua a linha:

;date.timezone =

Com:

date.timezone = America/Los_Angeles

Salve e saia:

:wq

Nota: "America / Los_Angeles" é o valor do fuso horário da minha máquina. Você precisa encontrar o valor apropriado do fuso horário para sua própria instância do servidor aqui .

Reinicie o serviço Apache:

sudo systemctl restart httpd.service

Clique no botão "Recarregar página" para examinar o resultado.

Problema 13: armazenamento de arquivos grandes não configurado

Você precisa implantar uma solução adequada de armazenamento de arquivos grandes, de acordo com sua própria configuração. Por enquanto, você pode clicar no botão "Ignorar problema de instalação" para pular.

Problema 14: domínio de arquivo alternativo não configurado

Digamos que você configurou um domínio de arquivo alternativo ou uma CDN e, no terminal SSH:

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

Clique no botão "Recarregar página" para examinar o resultado.

Problema 15: caminho local do repositório ausente

Use os seguintes comandos para resolver esse problema:

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

Clique no botão "Recarregar página" para examinar o resultado.

Problema 16: extensão PHP 'APC' não instalada

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

Durante o processo de instalação do APC, sempre pressione Enter para usar a opção padrão.

sudo vi /etc/php.ini

Adicione as quatro linhas ao final do arquivo:

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

Salve e saia:

:wq

Reinicie o serviço Apache:

sudo systemctl restart httpd.service

Clique no botão "Recarregar página" para verificar o resultado.

Isso é tudo. Feliz codificação!



Leave a Comment

Configure sua própria rede privada com o OpenVPN

Configure sua própria rede privada com o OpenVPN

O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes

Como instalar e configurar o CyberPanel no servidor CentOS 7

Como instalar e configurar o CyberPanel no servidor CentOS 7

Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi

Instale o eSpeak no CentOS 7

Instale o eSpeak no CentOS 7

Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Usando um sistema diferente? O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Ele usa o SNMP para obter os dados de diferentes dispositivos. Uma variedade

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Como instalar o RabbitMQ no CentOS 7

Como instalar o RabbitMQ no CentOS 7

Usando um sistema diferente? O RabbitMQ é um intermediário de mensagens de código aberto amplamente usado, escrito na linguagem de programação Erlang. Como um middleware orientado a mensagens

Configurar o Nginx-RTMP no CentOS 7

Configurar o Nginx-RTMP no CentOS 7

Usando um sistema diferente? O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. Vultr i

Como instalar o Gradle no CentOS 7

Como instalar o Gradle no CentOS 7

Usando um sistema diferente? Gradle é um conjunto de ferramentas de automação de compilação de código aberto e gratuito baseado nos conceitos do Apache Ant e Apache Maven. Gradle fornece

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Usando um sistema diferente? Neste guia, veremos como configurar um servidor FTP (ProFTPd) para transferir arquivos entre o seu PC e o seu servidor.

Instalando o Netdata no CentOS 7

Instalando o Netdata no CentOS 7

Usando um sistema diferente? O Netdata é uma estrela em ascensão no campo do monitoramento de métricas do sistema em tempo real. Comparado com outras ferramentas do mesmo tipo, o Netdata:

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Usando um sistema diferente? O Apache Cassandra é um sistema de gerenciamento de banco de dados NoSQL gratuito e de código aberto, projetado para fornecer escalabilidade, alta

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Neste tutorial, aprenda como configurar um servidor multiplayer Just Cause 2. Pré-requisitos Verifique se o sistema está totalmente atualizado antes de começarmos

Como instalar o servidor Starbound no CentOS 7

Como instalar o servidor Starbound no CentOS 7

Usando um sistema diferente? Neste tutorial, explicarei como configurar um servidor Starbound no CentOS 7. Pré-requisitos Você precisa ser o proprietário deste jogo

Instalando e configurando o ZNC no CentOS 7

Instalando e configurando o ZNC no CentOS 7

O ZNC é um segurança IRC gratuito e de código aberto que permanece permanentemente conectado a uma rede para que os clientes possam receber mensagens enviadas enquanto estiverem offline. Thi

Como instalar o Django no CentOS 7

Como instalar o Django no CentOS 7

O Django é uma estrutura Python popular para escrever aplicativos da web. Com o Django, você pode criar aplicativos mais rapidamente, sem reinventar a roda. Se você quiser você

Como instalar o CMS de outubro no CentOS 7

Como instalar o CMS de outubro no CentOS 7

Outubro é um sistema de gerenciamento de conteúdo de código aberto baseado no Laravel PHP Framework. Com uma interface elegante e uma arquitetura modular concisa

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Após alterar a porta SSH, configurar a batida na porta e fazer outros ajustes para a segurança SSH, talvez haja mais uma maneira de protegê-lo

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Directus 6.4 CMS é um sistema de gerenciamento de conteúdo sem cabeça (CMS) poderoso e flexível, gratuito e de código aberto que fornece

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Reader Self 3.5 é um leitor de RSS auto-hospedado, simples e flexível, gratuito e de código aberto, e uma alternativa ao Google Reader. Leitor Sel

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.