systems

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 is not (yet) up to date. There is also information in the systems repo on GitHub that may be more up to date. Or out of date in different ways. It's all very exciting and in the process of being updated.

Machine Access

Ansible maintained properties, some of which live on the same machine:

  • jump-ams-1.internal.php.net (European Jump Host)
  • jump-sfo-1.internal.php.net (American Jump Host)
  • downloads.internal.php.net (QA builds and Windows Downloads)
  • museum.internal.php.net (Old downloads)
  • shared.internal.php.net (Shared CSS files)
  • wiki.internal.php.net (The PHP wiki)

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 jump*.internal.php.net
      ProxyJump none
      # IdentityFile /home/derick/.ssh/phpservers-ed25519
  
  Host *.internal.php.net
      ProxyJump <USERID>@jump-ams-1.internal.php.net
      User <USERID>
      # IdentityFile /home/derick/.ssh/phpservers-ed25519

Replace ams-1 with sfo-1 depending on where you are.

The jump hosts require 2FA using Google Authenticator.

Tip, you can tell ssh to use a php-specific key for php-related things by adding something like this to your Host *.internal.php.net and Host jump*.internal.php.net sections: IdentityFile /home/derick/.ssh/phpservers-ed25519. These lines are currently commented out in the snippet above.

Reference: https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies_and_Jump_Hosts

Old Infra 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 <USERID>@europe.jump.php.net:9022
      User <USERID>

Replace americas with europe depending on where you are. The jump hosts require 2FA using Google Authenticator.

2FA setup instructions

  1. Install the google-authenticator package on a local machine (I used a docker container to avoid contaminating my real machine, but it's probably not necessary).
  2. Run google-authenticator command. You need to select to use time based tokens and rate limiting if asked. This will output a QA code that you can use to create a new entry in your OTP app (Google Authenticator or Authy work).
  3. Email the .google_authenticator file and your SSH key file to [email protected].
  4. Wait until you have a confirmation that it has been set up.

Machine Status

We use Nagios and Munin to monitor the machines. There is a public network status page as well as a protected area (log in with your SVN credentials) with more detailed information. The Munin web interface is available here.

FreeBSD upgrades

Note regarding FreeBSD machines: Upgrades should be performed according to this guide.

Social Networks

IRC/Discord

History

systems.txt · Last modified: 2025/04/17 15:48 by edorian