====== PHP Systems ======
PHP is supported by a number of machines provided by a number of generous sponsors. This is a basic inventory of those machines and what services they provide.
Note: this list may not be up to date. There is also information in the [[https://github.com/php/systems|systems repo]] on GitHub that may be more up to date. Or out of date in different ways. It's all very exciting.
* [[systems/downloads|downloads.php.net]] (downloads.php.net, shared.php.net)
* [[systems/bk2|bk2.php.net]]
* [[systems/bugs.php.net|bugs.php.net]]
* [[systems/euk2|euk2.php.net]] (doc, docs)
* [[systems/euk3|euk3.php.net]] (PEAR)
* [[systems/idle|idle.php.net]] (IRC)
* [[systems/museum|museum.php.net]] (Museum)
* [[systems/pecl|pecl.php.net]]
* [[systems/php-git1|php-git1.php.net]] (git.php.net)
* [[systems/php-jump2|php-jump2.php.net]] (europe.jump.php.net)
* [[systems/php-jump3|php-jump3.php.net]]
* [[systems/php-jump4|php-jump4.php.net]] (americas.jump.php.net)
* [[systems/php-smtp2|php-smtp2.php.net]] (MX)
* [[systems/php-web4|php-web4.php.net]] (web)
* [[systems/svn2|svn2.php.net]] (SVN, PHP-GTK, people.php.net, talks.php.net)
* [[systems/wiki|wiki.php.net]] (wiki)
* [[systems/windows|windows.php.net]]
===== History =====
* [[systems/rl2|rl2.php.net]]
* [[systems/k1|k1.php.net]] (rmtools)
* [[systems/oti1|oti1.php.net]] (CHM docs)
* [[systems/oti2|oti2.php.net]]
* [[systems/dp1|dp1.php.net]] (PPC testing)
* [[systems/pb1|pb1.php.net]] (mailing lists)
* [[systems/sc2|sc2.php.net]] (rsync)
* [[systems/osu1php|osu1php.php.net]] (master)
* [[systems/nex2|nex2.php.net]] (gcov)
* [[systems/euk1|euk1.php.net]] (PEAR)
* [[systems/ez1|ez1.php.net]]
* [[systems/micfo1|micfo1.php.net]]
* [[systems/micfo2|micfo2.php.net]]
* [[systems/nex1|nex1.php.net]]
* [[systems/osu1|osu1.php.net]]
* [[systems/ovh|ovh.php.net]]
* [[systems/pb11|pb11.php.net]] (edit.php.net)
* [[systems/pb12|pb12.php.net]]
* [[systems/php-jump1|php-jump1.php.net]]
* [[systems/rl|rl.php.net]] (old wiki)
* [[systems/rs1|rs1.php.net]]
* [[systems/sc1|sc1.php.net]]
* [[systems/sgrv1|sgrv1.php.net]]
* [[systems/sgvr2|sgrv2.php.net]] (old bugs.php.net)
* [[systems/sgrv3|sgrv3.php.net]] (pear.php.net testing infrastructure)
* [[systems/sgrv4|sgrv4.php.net]] (old shared.php.net)
* [[systems/sp1|sp1.php.net]]
* [[systems/y1|y1.php.net]]
* [[systems/y2|y2.php.net]]
* [[systems/y3|y3.php.net]]
* [[systems/sp2|sp2.php.net]] (OpenGrok, Munin)
* [[systems/bk1|bk1.php.net]]
* [[systems/sph1|sph1.php.net]] (qa, snaps)
* [[systems/edit-new|edit.php.net]]
* [[systems/php-web2|php-web2.php.net]] (web)
===== Machine Access =====
==== SSH jump hosts ====
People with SSH accounts on the above machines must use one of our jump hosts to connect to them. Add this to your ''~/.ssh/config'':
Host git.php.net americas.jump.php.net europe.jump.php.net
ProxyJump none
Port 9022
Host *.php.net
ProxyJump @europe.jump.php.net:9022
User
Replace ''americas'' with ''europe'' depending on where you are. The jump hosts require 2FA using Google Authenticator.
Reference: https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies_and_Jump_Hosts
==== 2FA setup instructions ====
- Install the [[google-authenticator|https://github.com/google/google-authenticator-libpam]] package on a local machine (I used a docker container to avoid contaminating my real machine, but it's probably not necessary).
- Run ''google-authenticator'' command (select to use time based token and rate limiting if asked) and create a new entry in your OTP app (Google Authenticator or Authy work) using the QR code.
- Email the ''.google_authenticator'' file to someone with root access on jumphost machines. I'm nominating Derick for this since he's been awesome and shall be rewarded with further work.
- Wait until the admin puts that file into your homedir with 0600 perms and chown'd to you.
- Connect to jumphost using the new authenticator code.
- Remove ''~/.google_authenticator''
- Generate a new config profile locally on the jumphost.
- Ask Derick to then copy that new config to other jumphosts so that you can use NA as well as EU.
Note: You'll need to find someone who can replicate your account to ''europe.jump.php.net'' so you can use it there, too.
Tip, you can tell ssh to use a php-specific key for php-related things by adding something like this to your Host *.php.net section:
''IdentityFile /Users/bjori/.ssh/php_id_rsa''
===== Machine Status =====
We use [[http://www.nagios.org/|Nagios]] and [[systems:munin|Munin]] to monitor the machines. There is a [[http://monitoring.php.net/status/|public network status]] page as well as a [[http://monitoring.php.net/nagios/|protected area]] (log in with your SVN credentials) with more detailed information. The Munin web interface is [[http://monitoring.php.net/munin/|available here]].
===== FreeBSD upgrades =====
Note regarding FreeBSD machines: Upgrades should be performed according to [[http://main.php.net/fbsd_upgrade.txt|this guide]].
===== Social Networks =====
* [[systems:social|Social Networks]]
===== IRC/Discord =====
* [[systems:irc|IRC and Discord]]