@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
at recaptime-dev/main 151 lines 6.6 kB view raw
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}.