web:mirror

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
web:mirror [2010/12/26 23:50] – fix couple of typos bjoriweb:mirror [2024/07/21 00:07] (current) jimw
Line 1: Line 1:
 +==== Setting up phpweb for local development ====
 +
 +See [[https://github.com/php/web-php/#local-development|https://github.com/php/web-php/#local-development]]
 +
 +Alternatively, the generated files can also be fetched from your nearest mirror, see the following instructions
 +
 ==== How to create a PHP.net mirror ==== ==== How to create a PHP.net mirror ====
  
-Setting up an official (or unofficialmirror is described within [[http://php.net/mirroring.php|the official mirror page]]. However, setting up your own mirror via SVN is possible too and is especially helpful for those working on the PHP website.+Setting up an unofficial mirror is described within [[http://php.net/mirroring.php|the official mirror page]]. You can also build a mirror from the Git sources, which is especially helpful for those working on the PHP website.
  
-=== I'm lazy. Just give me something to execute == +=== Quick Script to Set Up PHPWeb == 
-Save the following shell script as IcanHazPHPWeb.sh + 
-Then execute sh ./IcanHazPHPWeb.sh +Save the following shell script as ''phpweb.sh'' 
-And wait for ca 10 minutes. (took 7m30.871s on my box)+Then execute ''./phpweb.sh'' 
 + 
 +And wait for ca 10 minutes.
  
 <code shell> <code shell>
Line 13: Line 21:
 cd ~/php.net cd ~/php.net
  
 +# Checkout the manual base sources
 +git clone https://github.com/php/doc-base.git
 # Checkout the english manual sources # Checkout the english manual sources
-svn co https://svn.php.net/repository/phpdoc/modules/doc-en +git clone https://github.com/php/doc-en.git en 
-# Checkout the actual website, except for the distribution/ and extra/ dirs (huge binary filestakes days to download+# Checkout PHD to build documentation 
-svn co --depth immediates https://svn.php.net/repository/web/php/trunk phpweb+git clone https://github.com/php/phd.git phd 
 +# Checkout the actual website (does not include /distributionthats a gigantic separate repo
 +git clone https://github.com/php/web-php.git phpweb
 cd phpweb cd phpweb
-svn up --set-depth infinity ./styles ./security ./images ./reST ./manual ./backend ./stats ./bin ./releases ./conferences ./pear ./license ./js ./ie6update ./archive  ./include 
  
 # Some files are pre-generated on master.php.net for various reasons # Some files are pre-generated on master.php.net for various reasons
-(cd include && for i in countries.inc last_updated.inc mirrors.inc pregen-confs.inc pregen-events.inc pregen-news.inc; do wget "http://www.php.net/include/$i"; done;) +(cd include && for i in countries.inc last_updated.inc mirrors.inc pregen-confs.inc pregen-events.inc pregen-news.inc; do wget "http://www.php.net/include/$i" -O $i; done;) 
-(cd backend && for i in ip-to-country.db ip-to-country.idx; do wget "http://www.php.net/backend/$i"; done;)+(cd backend && for i in ip-to-country.db ip-to-country.idx; do wget "http://www.php.net/backend/$i" -O $i; done;)
 cd .. cd ..
  
  
 # Install PhD and build the manual # Install PhD and build the manual
-cd doc-en 
 php doc-base/configure.php php doc-base/configure.php
-pear install doc.php.net/phd_php +php -dmemory_limit=2G phd/render.php --docbook doc-base/.manual.xml -P PHP -f php
-phd -doc-base/.manual.xml -P PHP -f php +
-cd ..+
  
 cd phpweb cd phpweb
 # Symlink the generated english documentations from our PhD build dir # Symlink the generated english documentations from our PhD build dir
-(cd manual && ln -s ~/php.net/doc-en/output/php-web en) +rm -rf manual/en 
- +(cd manual && ln -s `pwd`/../../output/php-web en)
-echo "Now copy&paste the VirtualHost config from http://php.net/mirroring.php#settings" +
-echo "Fill out the 'template' and restart apache" +
-</code> +
- +
- +
-=== The SVN way, but with a hack === +
- +
-  - Checkout phpweb (svn co http://svn.php.net/repository/web/php/trunk phpweb) +
-  - Within phpweb, run this: <code php> +
-<?php +
-// Note: This is a complete hack +
-// Mirror to steal from +
-$mirror = 'http://www.php.net/'; +
- +
-// Files phpweb needs (typically from rsync box) +
-$files = array('include/mirrors.inc', 'include/countries.inc', 'include/pregen-events.inc', 'include/pregen-news.inc', 'include/pregen-confs.inc'); +
- +
-foreach ($files as $file) { +
- file_put_contents($file, file_get_contents($mirror . $file)); +
-}+
  
-// Another required file, let's create it ourselves +php -S localhost:8080 .router.php
-file_put_contents('include/last_updated.inc', '<?php $LAST_UPDATED=' time() '; ?>'); +
-?>+
 </code> </code>
-  - Make a virtual host, see [[http://php.net/mirroring.php|The official mirror page]] 
-  - If wanting the PHP Manual too, either: 
-    * [[doc:howto|Build it]] 
-    * Rsync it 
-    * Download it 
  
web/mirror.1293407405.txt.gz · Last modified: 2017/09/22 13:28 (external edit)