mirror of
https://github.com/php/web-php.git
synced 2026-03-23 23:02:13 +01:00
127 lines
5.4 KiB
Plaintext
127 lines
5.4 KiB
Plaintext
MIRRORING OF THE PHP.NET WEBSITE
|
|
------------------------------------------------------------------------
|
|
|
|
If you want to become an official PHP mirror, please be sure to
|
|
read and follow these instructions carefully. You should have the
|
|
consent of your hosting company (if you aren't a hosting company
|
|
yourself), and be prepared for some reasonably significant bandwidth
|
|
usage (a reasonable estimate as of 2/2002 is 150MB/day).
|
|
|
|
Also, we are currently only accepting new official mirrors in
|
|
countries where we don't already have two active official mirrors.
|
|
|
|
The PHP website requires PHP 4.
|
|
|
|
If you are not an official mirror, you should not rsync from rsync.php.net
|
|
more frequently than every three hours, or you may find your ip blocked.
|
|
Also, please make an effort to only mirror those parts of the site that
|
|
you actually need. (For example, exclude the manual in all of languages that
|
|
you will not be using.)
|
|
|
|
HOW TO MIRROR THE PHP WEBSITE
|
|
------------------------------------------------------------------------
|
|
|
|
First, you need to have a rsync (http://rsync.samba.org/) installed.
|
|
|
|
Fetch the web files with the following:
|
|
|
|
rsync -avzC --timeout=600 --delete --delete-after \
|
|
rsync.php.net::phpweb /your/local/path
|
|
|
|
Setting up an unofficial mirror, and want to only mirror one language of the
|
|
manual? Add:
|
|
|
|
--include='manual/en/' --include='manual/en/**' --exclude='manual/**'
|
|
|
|
after "--delete-after" in the command line above (substituting your prefered
|
|
language code for 'en'). You can also exclude the distributions directory by
|
|
including "--exclude='distributions/'"..
|
|
|
|
If /your/local/path isn't in your web document tree (why isn't it?),
|
|
then symlink the phpweb/ directory to the correct place on your server.
|
|
|
|
Now, make sure your web server is set up to serve up .php files as PHP parsed
|
|
files. If it isn't, add the mime-type to your config.
|
|
|
|
Rename the configuration.inc-dist file to configuration.inc and edit it
|
|
appropriately.
|
|
|
|
Once you create a virtualhost which looks something like:
|
|
|
|
<VirtualHost your-hostname-here>
|
|
ServerName your-hostname-here
|
|
ServerAlias xx.php.net www.xx.php.net
|
|
ServerAdmin yourname@yourdomain.com
|
|
DocumentRoot /www/htdocs/phpweb
|
|
php_value include_path .:/www/htdocs/phpweb/include
|
|
ErrorLog logs/error_log
|
|
TransferLog logs/access_log
|
|
DirectoryIndex index.php index.html
|
|
ErrorDocument 404 /error/index.php
|
|
ErrorDocument 403 /error/index.php
|
|
AddType application/octet-stream .chm
|
|
AddType application/octet-stream .bz2
|
|
# next line is only necessary if generating stats (see stats/README.stats)
|
|
Alias /stats/ /path/to/local/stats/
|
|
</VirtualHost>
|
|
|
|
modified to reflect your local paths and country, of course,
|
|
then your site should start working.
|
|
|
|
Note: The official names for PHP mirrors are in the convention:
|
|
"xx.php.net", where "xx" is replaced by the 2-letter country code
|
|
of your mirror's location. If there already is a "xx.php.net",
|
|
then you should set up your ServerName to be "xx2.php.net". For
|
|
a list of what's available and what is taken, have a look at
|
|
http://www.php.net/mirrors.php
|
|
|
|
You must also set up a cron job that periodically does an rsync
|
|
to refresh your web directory. This will ensure that your web site
|
|
is up to date. Something like:
|
|
|
|
23 * * * * /usr/local/bin/rsync -avzC --delete --delete-after rsync.php.net::phpweb /your/local/path
|
|
|
|
(You should try to stagger your times a bit from the example to help spread the
|
|
load on the rsync.php.net server.)
|
|
|
|
DATA REGISTERED ABOUT THE MIRROR SITES
|
|
------------------------------------------------------------------------
|
|
|
|
Once you have done the above and your site appears to work, send
|
|
a message to mirrors@php.net with the following information, and
|
|
appropriate steps will be taken to integrate your mirror site:
|
|
|
|
- Your name and email address as the admin for the mirror.
|
|
- Your country (we will update the DNS for php.net).
|
|
- A hostname that we can use as a CNAME for the country-code-based
|
|
name of the mirror. (This is preferable to an IP address, because
|
|
it means you can move the mirror to another IP address without
|
|
coordinating with us at all.)
|
|
- Whether or not you've installed local searching support on your mirror.
|
|
This uses ht://Dig (http://www.htdig.org), for which instructions for
|
|
setting it up can be found in Mirrors-htdig.tgz
|
|
- Whether or not you've installed local stats support on your mirror.
|
|
This uses webalizer, for which instructions for setting it up
|
|
can be found in stats/README.stats
|
|
- The name of your hosting company.
|
|
- The URL of the site that hosts the mirror. This is where you want
|
|
people will go when they click on the link for your mirror at the
|
|
bottom of each page.
|
|
- The preferred default language for your country (currently only
|
|
the manuals are translated). Don't worry if there's no content
|
|
available in the preferred language yet, so long as English is
|
|
an acceptable secondary default.
|
|
|
|
It is *not* required to sign up to our mailing list named
|
|
"php-mirrors". Besides the name, the traffic on this mailing
|
|
list is mainly interesting for the webmasters of php.net,
|
|
and we are able to keep in touch with you using your given
|
|
email address. Anyway if you would like to follow the things,
|
|
you can subscribe, by sending an empty message to:
|
|
php-mirrors-subscribe@lists.php.net
|
|
|
|
And finally, don't forget to put a nice little PHP logo somewhere
|
|
on your hosting company's site if possible. Grab one of the logos
|
|
from the "Download PHP Logos and Icons" page on the PHP site,
|
|
and link it to your mirror.
|