@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1@title Installation Guide
2@group intro
3
4This document contains basic install instructions to get Phorge up and
5running.
6
7Overview
8========
9
10Phorge is a LAMP (Linux, Apache, MySQL, PHP) application. To install
11Phorge, you will need:
12
13 - a normal computer to install it on (shared hosts and unusual environments
14 are not supported) running some flavor of Linux or a similar OS;
15 - a domain name (like `phorge.example.com`);
16 - basic sysadmin skills;
17 - Apache, nginx, or another webserver;
18 - PHP;
19 - MySQL or MariaDB (you will need a server with multiple databases);
20 - git
21
22The remainder of this document details these requirements.
23
24You may be interested also in preparing these optional stuff:
25
26 - have valid SMTP parameters for outgoing email notifications;
27 - having nothing listening on port 22, to then setup a SSH+git server
28
29Installation Requirements
30=========================
31
32You will need **a computer**. Options include:
33
34 - **A Normal Computer**: This is strongly recommended. Many installs use a VM
35 in EC2. Phorge installs properly and works well on a normal computer.
36 - **A Shared Host**: This may work, but is not recommended. Many shared
37 hosting environments have restrictions which prevent some of Phorge's
38 features from working. Consider using a normal computer instead. We do not
39 support shared hosts.
40 - **A SAN Appliance, Network Router, Gaming Console, Raspberry Pi, etc.**:
41 Although you may be able to install Phorge on specialized hardware, it
42 is unlikely to work well and will be difficult for us to support. Strongly
43 consider using a normal computer instead. We do not support specialized
44 hardware.
45 - **A Toaster, Car, Firearm, Thermostat, etc.**: Yes, many modern devices now
46 have embedded computing capability. We live in interesting times. However,
47 you should not install Phorge on these devices. Instead, install it on
48 a normal computer. We do not support installing on noncomputing devices.
49
50To install the Phorge server software, you will need an **operating
51system** on your normal computer which is **not Windows**. Note that the
52command line interface //does// work on Windows, and you can //use//
53Phorge from any operating system with a web browser. However, the server
54software does not run on Windows. It does run on most other operating systems,
55so choose one of these instead:
56
57 - **GNU/Linux**: Most installs use Linux.
58 - **Mac OS X**: Mac OS X is an acceptable non-flavor of Linux.
59 - **BSD**: While BSD is certainly not a flavor of Linux, it is a fine
60 operating system possessed of many desirable qualities, and Phorge will
61 install and run properly on BSD.
62 - **Solaris, etc.**: Other systems which look like *nix and quack like *nix
63 will generally work fine, although we may suffer a reduced ability to
64 support and resolve issues on unusual operating systems.
65
66Beyond an operating system, you will need **a webserver**.
67
68 - **Apache**: Many installs use Apache + `mod_php`.
69 - **nginx**: Many installs use nginx + `php-fpm`.
70 - **lighttpd**: `lighttpd` is less popular than Apache or nginx, but it
71 works fine.
72 - **Other**: Other webservers which can run PHP are also likely to work fine,
73 although these installation instructions will not cover how to set them up.
74 - **PHP Builtin Server**: Phorge will not work with the builtin
75 webserver because Phorge depends on making requests to itself on some
76 workflows, and the builtin webserver is single-threaded.
77
78You will also need:
79
80 - **MySQL or MariaDB**: You need MySQL or MariaDB. The minimum required
81 version is 8.0 MySQL and 10.5.1 for MariaDB.
82 You will need a server with multiple databases.
83 From now on, both will be referred to as MySQL.
84 - **PHP**: You need a PHP engine:
85 - PHP 7 - 7.2.25 or newer.
86 - PHP 8 - 8.0 or newer.
87 - **git**: You need git 2.5.0 or newer on the server.
88 No particular version is needed on your clients.
89
90You'll probably also need a **domain name**. In particular:
91
92NOTE: Phorge must be installed on an entire domain. You can not install it
93to a path on an existing domain, like `example.com/phorge/`. Instead,
94install it to an entire domain or subdomain, like `phorge.example.com`.
95
96Level Requirements
97==================
98
99To install and administrate Phorge, you'll need to be comfortable with
100common system administration skills. For example, you should be familiar with
101using the command line, installing software on your operating system of choice,
102working with the filesystem, managing processes, dealing with permissions,
103editing configuration files, and setting environment variables.
104
105If you aren't comfortable with these skills, you can still try to perform an
106install. The install documentation will attempt to guide you through what you
107need to know. However, if you aren't very familiar or comfortable with using
108this set of skills to troubleshoot and resolve problems, you may encounter
109issues which you have substantial difficulty working through.
110
111We assume users installing and administrating Phorge are comfortable with
112common system administration skills and concepts. If you aren't, proceed at
113your own risk and expect that your skills may be tested.
114
115Installing Required Components
116==============================
117
118Here's a general description of what you need to install:
119
120 - git (usually called "git" in package management systems)
121 - Apache (usually "httpd" or "apache2") (or nginx)
122 - MySQL Server (usually "mysqld" or "mysql-server" or "mariadb-server")
123 - PHP (usually "php")
124 - Required PHP extensions: mbstring, iconv, mysqli, curl, pcntl, posix
125 - Optional PHP extensions: gd, zip, opcache, apcu
126
127If you already have LAMP setup, you've probably already got everything you need.
128It may also be helpful to refer to the install scripts above, even if they don't
129work for your system.
130
131Now that you have all that stuff installed, grab Phorge and its
132dependencies:
133
134 $ cd somewhere/ # pick some install directory
135 somewhere/ $ git clone https://github.com/phorgeit/arcanist.git
136 somewhere/ $ git clone https://github.com/phorgeit/phorge.git
137
138After cloning, flag them as safe (to avoid the error //"fatal:
139detected dubious ownership in repository at ..."//):
140
141 $ sudo git config --system --add safe.directory somewhere/arcanist
142 $ sudo git config --system --add safe.directory somewhere/phorge
143
144Next Steps
145==========
146
147Continue by:
148
149 - configuring Phorge with the @{article:Configuration Guide}; or
150 - learning how to keep Phorge up to date with
151 @{article:Upgrading Phorge}.