Project Infrastructure: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (→octave.org: https again) |
||
(26 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
The project sources, web pages, and related tools are spread over a number of different services. | The project sources, web pages, and related tools are spread over a number of different services. | ||
As discussed at OctConf 2017, we would like to consolidate and update some of these resources so that they are easier to keep track of and manage. | As discussed at [[OctConf 2017]], we would like to consolidate and update some of these resources so that they are easier to keep track of and manage. | ||
Here is a summary of what we are currently using: | Here is a summary of what we are currently using: | ||
Line 13: | Line 13: | ||
=== octave.org === | === octave.org === | ||
* main project web site address | * main project web site address ([https://octave.org https://octave.org] → https://www.gnu.org/software/octave) | ||
* email forwarding | * email forwarding | ||
* | * [[Doxygen]] pages hosted here | ||
* other pages redirect elsewhere (gnu.org/software/octave, octave. | * other pages redirect elsewhere (gnu.org/software/octave, octave.sourceforge.io) | ||
{{File|.htaccess|<pre> | |||
RewriteEngine on | RewriteEngine on | ||
RewriteRule ^doc/octave_toc.html | RewriteRule ^doc/octave_toc.html https://www.gnu.org/software/octave/doc/interpreter/index.html [R=301,L] | ||
RewriteRule ^hg/(.*) http://hg.savannah.gnu.org/hgweb/$1 [R=301,L] | RewriteRule ^hg/(.*) http://hg.savannah.gnu.org/hgweb/$1 [R=301,L] | ||
Line 29: | Line 29: | ||
RewriteRule ^bugs/(.*) http://bugs.octave.org/bugs/$1 [R=301,L] | RewriteRule ^bugs/(.*) http://bugs.octave.org/bugs/$1 [R=301,L] | ||
RewriteRule ^docs.html | RewriteRule ^docs.html https://www.gnu.org/software/octave/support.html [R=301,L] | ||
RewriteRule ^packages.html | RewriteRule ^packages.html https://octave.sourceforge.io [R=301,L] | ||
RewriteCond $1 !^(doxygen|gnulib-git-mapfile|old-list-archives|stats|wiki|octave-wiki|w) | RewriteCond $1 !^(doxygen|gnulib-git-mapfile|old-list-archives|stats|wiki|octave-wiki|w) | ||
RewriteRule (.*) | RewriteRule (.*) https://www.gnu.org/software/octave/$1 [R=301,L] | ||
Options +FollowSymLinks | Options +FollowSymLinks | ||
Line 45: | Line 45: | ||
RewriteRule ^wiki/(.*)$ http://wiki.octave.org/$1 [R=301] | RewriteRule ^wiki/(.*)$ http://wiki.octave.org/$1 [R=301] | ||
RewriteRule ^wiki$ http://wiki.octave.org/ [R=301] | RewriteRule ^wiki$ http://wiki.octave.org/ [R=301] | ||
</ | </pre>}} | ||
=== packages.octave.org === | === packages.octave.org === | ||
* web site primarily so we can have a stable address for octave's <code>pkg -forge</code> command | * web site primarily so we can have a stable address for octave's <code>pkg -forge</code> command | ||
{{File|.htaccess|<pre> | |||
RewriteEngine on | RewriteEngine on | ||
Line 57: | Line 57: | ||
RewriteRule (.*) https://octave.sourceforge.io/$1 [R=307,L] | RewriteRule (.*) https://octave.sourceforge.io/$1 [R=307,L] | ||
</ | </pre>}} | ||
=== planet.octave.org === | === planet.octave.org === | ||
* Planet blog aggregator | * [http://www.planetplanet.org Planet blog aggregator] | ||
=== wiki.octave.org === | === wiki.octave.org === | ||
* mediawiki installation | * [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] installation | ||
* htaccess | ** Additional skins installed: | ||
*** https://www.mediawiki.org/wiki/Skin:Minerva_Neue (Mobile skin) | |||
** Additional extensions installed: | |||
*** https://www.mediawiki.org/wiki/Extension:Math | |||
*** https://www.mediawiki.org/wiki/Extension:MobileFrontend | |||
*** https://www.mediawiki.org/wiki/Extension:PageNotice | |||
{{File|.htaccess|<pre> | |||
# https://help.dreamhost.com/hc/en-us/articles/214895317-How-do-I-change-the-PHP-version-of-my-site- (2019-02-26) | |||
AddHandler fcgid-script .php | |||
FCGIWrapper "/dh/cgi-system/php72.cgi" .php | |||
RewriteEngine on | RewriteEngine on | ||
Line 74: | Line 84: | ||
## http://www.octave.org/wiki/index.php?title=OctConf_2012 | ## http://www.octave.org/wiki/index.php?title=OctConf_2012 | ||
RewriteCond %{QUERY_STRING} ^title=(.*)$ | RewriteCond %{QUERY_STRING} ^title=(.*)$ | ||
RewriteRule ^/wiki/index\.php$ | RewriteRule ^/wiki/index\.php$ https://wiki.octave.org/%1? | ||
RewriteCond %{QUERY_STRING} ^title=(.*)$ | RewriteCond %{QUERY_STRING} ^title=(.*)$ | ||
RewriteRule ^/index\.php$ | RewriteRule ^/index\.php$ https://wiki.octave.org/%1? | ||
Line 83: | Line 93: | ||
RewriteCond $1 !^(favicon.*) | RewriteCond $1 !^(favicon.*) | ||
RewriteRule ^(.*)$ /wiki/index.php?title=$1 | RewriteRule ^(.*)$ /wiki/index.php?title=$1 | ||
</ | </pre>}} | ||
== | == Hosted on jwe's digitalocean.com account == | ||
* login accounts: jwe jordigh | |||
=== buildbot.octave.org === | |||
* master server for our [[Continuous_Build#Buildbot|Buildbot]] installation | |||
== | === hg.octave.org === | ||
This site hosts [http://hg.octave.org mercurial repos]. | |||
* master | * [http://hg.octave.org/web-octave web-octave] (Alex and Kai's new web pages) | ||
* [http://hg.octave.org/octave/gnulib-hg gnulib] | |||
* mirror of master hg archive for [http://hg.octave.org/octave octave] | |||
* [http://hg.octave.org/mxe-octave mxe-octave] (see [[MXE]]) | |||
* various octave clones | |||
=== agora.octave.org === | === agora.octave.org === | ||
Line 125: | Line 119: | ||
== Hosted on GNU project systems == | == Hosted on GNU project systems == | ||
[https://savannah.gnu.org/projects/octave Savannah] admin accounts: [https://savannah.gnu.org/users/jwe jwe], [https://savannah.gnu.org/users/rik5 rik], [https://savannah.gnu.org/users/jordigh jordigh], [https://savannah.gnu.org/users/mtmiller mtmiller] | |||
=== www.gnu.org/software/octave === | === www.gnu.org/software/octave === | ||
* bug tracker | * [https://savannah.gnu.org/bugs/?group=octave bug tracker] | ||
* patch tracker | * [https://savannah.gnu.org/patch/?group=octave patch tracker] | ||
* task tracker | * [https://savannah.gnu.org/task/?group=octave task tracker] | ||
* mailing lists | * [https://savannah.gnu.org/mail/?group=octave mailing lists] | ||
* main octave project web | * main [https://www.gnu.org/software/octave/ octave project web page] | ||
* master hg archive for octave | * [https://hg.savannah.gnu.org/hgweb/octave/ master hg archive] for octave | ||
* limited to using CVS to upload web pages | * limited to using [https://web.cvs.savannah.gnu.org/viewvc/octave CVS] to upload web pages | ||
* doxygen, octave forge (other?) pages hosted elsewhere | * doxygen, octave forge (other?) pages hosted elsewhere | ||
{{File|.htaccess|<pre> | |||
<FilesMatch "\.(in|m4)$"> | <FilesMatch "\.(in|m4)$"> | ||
Order allow,deny | Order allow,deny | ||
Line 169: | Line 159: | ||
RewriteRule ^doc/interpreter$ doc/interpreter/ [R,L] | RewriteRule ^doc/interpreter$ doc/interpreter/ [R,L] | ||
RewriteRule ^doc/interpreter/(.*) doc/v4.2.0/$1 [L] | RewriteRule ^doc/interpreter/(.*) doc/v4.2.0/$1 [L] | ||
</ | </pre>}} | ||
=== ftp.gnu.org === | === ftp.gnu.org === | ||
* octave tarball sources | * [https://ftp.gnu.org/gnu/octave octave tarball sources] | ||
* windows binaries | * [https://ftp.gnu.org/gnu/octave/windows windows binaries] | ||
== Hosted on SourceForge == | == Hosted on SourceForge == | ||
* admin accounts: | * admin accounts: [https://sourceforge.net/p/octave/_members oheim, i7tiol] | ||
* octave forge hg | * octave forge [https://sourceforge.net/p/octave/_list/hg hg] and [https://sourceforge.net/p/octave/_list/git git] repos | ||
=== octave.sourceforge.io === | |||
* [https://octave.sourceforge.io Octave Forge web site] and [https://sourceforge.net/p/octave/project-web/ci/default/tree it's source] | |||
{{File|.htaccess|<pre> | |||
<FilesMatch "\.svgz$"> | |||
Header set Content-Encoding gzip | |||
</FilesMatch> | |||
RewriteEngine on | |||
# use PHP files in root directory | |||
RewriteRule ^archive\.html$ /archive.php [PT] | |||
RewriteRule ^bugs\.html$ /bugs.php [PT] | |||
RewriteRule ^code\.html$ /code.php [PT] | |||
RewriteRule ^developers\.html$ /developers.php [PT] | |||
RewriteRule ^docs\.html$ /docs.php [PT] | |||
RewriteRule ^FAQ\.html$ /FAQ.php [PT] | |||
RewriteRule ^function_list\.html$ /function_list.php [PT] | |||
RewriteRule ^index\.html$ /index.php [PT] | |||
RewriteRule ^links\.html$ /links.php [PT] | |||
RewriteRule ^NEWS\.html$ /NEWS.php [PT] | |||
RewriteRule ^packages\.html$ /packages.php [PT] | |||
# root directory of files for download | |||
RewriteRule ^released-packages/$ https://sourceforge.net/projects/octave/files/ [R=307,L] | |||
# a particular packages repository | |||
RewriteRule ^pkg-repository/(.*)/$ https://sourceforge.net/p/octave/$1/ [R=307,L] | |||
# don't rewrite paths in the following directories | |||
RewriteRule ^templates(/|$)(.*) - [L] | |||
RewriteRule ^pkg_icon(/|$)(.*) - [L] | |||
RewriteRule ^java(/|$)(.*) - [L] | |||
RewriteRule ^doxygen32(/|$)(.*) - [L] | |||
RewriteRule ^doxygen34(/|$)(.*) - [L] | |||
RewriteRule ^doxygen36(/|$)(.*) - [L] | |||
RewriteRule ^doxygen38(/|$)(.*) - [L] | |||
RewriteRule ^doxygen40(/|$)(.*) - [L] | |||
RewriteRule ^doxygen41(/|$)(.*) - [L] | |||
RewriteRule ^coda(/|$)(.*) - [L] | |||
RewriteRule ^octave(/|$)(.*) - [L] | |||
RewriteRule ^octave\.old(/|$)(.*) - [L] | |||
RewriteRule ^old_packages(/|$)(.*) - [L] | |||
# webserver of sourceforge doesn't understand END rewrite rule flag, | |||
# so we have to check for looping instead if necessary | |||
# forbid direct access to packages directory | |||
RewriteCond %{ENV:REDIRECT_STATUS} ^$ | |||
RewriteRule ^packages(/|$)(.*) - [F] | |||
# paths in all other sudirectories are rewritten to be under directory | |||
# "packages" | |||
RewriteCond %{ENV:REDIRECT_STATUS} ^$ | |||
RewriteRule ^(.+/.*) /packages/$1 [L] | |||
# FIXME: Trailing slash is not appended for (non-existing, to be | |||
# re-written) package directories at top level. This should be cured | |||
# in a better way than with the following. | |||
RewriteCond %{ENV:REDIRECT_STATUS} ^$ | |||
RewriteCond %{REQUEST_FILENAME} !-f | |||
RewriteRule ^(.+) /packages/$1/ [L] | |||
<FilesMatch "\.(php|css)$"> | |||
FileETag None | |||
<ifModule mod_headers.c> | |||
Header unset ETag | |||
Header unset Expires | |||
Header set Cache-Control "no-cache, must-revalidate" | |||
</ifModule> | |||
</FilesMatch> | |||
</pre>}} | |||
[[Category:Development]] | |||
Revision as of 02:52, 16 April 2019
The project sources, web pages, and related tools are spread over a number of different services.
As discussed at OctConf 2017, we would like to consolidate and update some of these resources so that they are easier to keep track of and manage.
Here is a summary of what we are currently using:
Hosted on jwe's dreamhost.com account
octave.org domain registration and dns records
Managed through dreamhost web hosting control panel web app thing.
octave.org
- main project web site address (https://octave.org → https://www.gnu.org/software/octave)
- email forwarding
- Doxygen pages hosted here
- other pages redirect elsewhere (gnu.org/software/octave, octave.sourceforge.io)
File: .htaccess
RewriteEngine on RewriteRule ^doc/octave_toc.html https://www.gnu.org/software/octave/doc/interpreter/index.html [R=301,L] RewriteRule ^hg/(.*) http://hg.savannah.gnu.org/hgweb/$1 [R=301,L] RewriteRule ^testfailure/(.*) https://savannah.gnu.org/bugs/$1 [R=301,L] RewriteRule ^bugs/(.*) http://bugs.octave.org/bugs/$1 [R=301,L] RewriteRule ^docs.html https://www.gnu.org/software/octave/support.html [R=301,L] RewriteRule ^packages.html https://octave.sourceforge.io [R=301,L] RewriteCond $1 !^(doxygen|gnulib-git-mapfile|old-list-archives|stats|wiki|octave-wiki|w) RewriteRule (.*) https://www.gnu.org/software/octave/$1 [R=301,L] Options +FollowSymLinks ## Manipulate query string to preserve old URLs like ## http://www.octave.org/wiki/index.php?title=OctConf_2012 RewriteCond %{QUERY_STRING} ^title=(.*)$ RewriteRule ^wiki/index\.php$ http://wiki.octave.org/%1? [R=301] RewriteRule ^wiki/(.*)$ http://wiki.octave.org/$1 [R=301] RewriteRule ^wiki$ http://wiki.octave.org/ [R=301]
packages.octave.org
- web site primarily so we can have a stable address for octave's
pkg -forge
command
File: .htaccess
RewriteEngine on RewriteRule ^download/(.*) https://downloads.sourceforge.net/octave/$1?download [R=307,L] RewriteRule (.*) https://octave.sourceforge.io/$1 [R=307,L]
planet.octave.org
wiki.octave.org
- MediaWiki installation
- Additional skins installed:
- https://www.mediawiki.org/wiki/Skin:Minerva_Neue (Mobile skin)
- Additional extensions installed:
- Additional skins installed:
File: .htaccess
# https://help.dreamhost.com/hc/en-us/articles/214895317-How-do-I-change-the-PHP-version-of-my-site- (2019-02-26) AddHandler fcgid-script .php FCGIWrapper "/dh/cgi-system/php72.cgi" .php RewriteEngine on ## Manipulate query string to preserve old URLs like ## http://www.octave.org/wiki/index.php?title=OctConf_2012 RewriteCond %{QUERY_STRING} ^title=(.*)$ RewriteRule ^/wiki/index\.php$ https://wiki.octave.org/%1? RewriteCond %{QUERY_STRING} ^title=(.*)$ RewriteRule ^/index\.php$ https://wiki.octave.org/%1? RewriteCond %{REQUEST_URI} !^/w.*/ RewriteCond $1 !^(favicon.*) RewriteRule ^(.*)$ /wiki/index.php?title=$1
Hosted on jwe's digitalocean.com account
- login accounts: jwe jordigh
buildbot.octave.org
- master server for our Buildbot installation
hg.octave.org
This site hosts mercurial repos.
- web-octave (Alex and Kai's new web pages)
- gnulib
- mirror of master hg archive for octave
- mxe-octave (see MXE)
- various octave clones
agora.octave.org
- what remains of the agora web site
Hosted on GNU project systems
Savannah admin accounts: jwe, rik, jordigh, mtmiller
www.gnu.org/software/octave
- bug tracker
- patch tracker
- task tracker
- mailing lists
- main octave project web page
- master hg archive for octave
- limited to using CVS to upload web pages
- doxygen, octave forge (other?) pages hosted elsewhere
File: .htaccess
<FilesMatch "\.(in|m4)$"> Order allow,deny Deny from all </FilesMatch> <FilesMatch "Makefile$"> Order allow,deny Deny from all </FilesMatch> <FilesMatch "CVS"> Order allow,deny Deny from all </FilesMatch> RewriteEngine on RewriteBase /software/octave/ RewriteRule ^octave.pdf doc/octave-4.2.0.pdf [L] RewriteRule ^NEWS.html NEWS-4.2.html [L] RewriteRule ^contribute.html get-involved.html [L] RewriteRule ^img/screenshot.png img/screenshot-octave-4-2.png [L] RewriteRule ^doc/interpreter$ doc/interpreter/ [R,L] RewriteRule ^doc/interpreter/(.*) doc/v4.2.0/$1 [L]
ftp.gnu.org
Hosted on SourceForge
- admin accounts: oheim, i7tiol
- octave forge hg and git repos
octave.sourceforge.io
File: .htaccess
<FilesMatch "\.svgz$"> Header set Content-Encoding gzip </FilesMatch> RewriteEngine on # use PHP files in root directory RewriteRule ^archive\.html$ /archive.php [PT] RewriteRule ^bugs\.html$ /bugs.php [PT] RewriteRule ^code\.html$ /code.php [PT] RewriteRule ^developers\.html$ /developers.php [PT] RewriteRule ^docs\.html$ /docs.php [PT] RewriteRule ^FAQ\.html$ /FAQ.php [PT] RewriteRule ^function_list\.html$ /function_list.php [PT] RewriteRule ^index\.html$ /index.php [PT] RewriteRule ^links\.html$ /links.php [PT] RewriteRule ^NEWS\.html$ /NEWS.php [PT] RewriteRule ^packages\.html$ /packages.php [PT] # root directory of files for download RewriteRule ^released-packages/$ https://sourceforge.net/projects/octave/files/ [R=307,L] # a particular packages repository RewriteRule ^pkg-repository/(.*)/$ https://sourceforge.net/p/octave/$1/ [R=307,L] # don't rewrite paths in the following directories RewriteRule ^templates(/|$)(.*) - [L] RewriteRule ^pkg_icon(/|$)(.*) - [L] RewriteRule ^java(/|$)(.*) - [L] RewriteRule ^doxygen32(/|$)(.*) - [L] RewriteRule ^doxygen34(/|$)(.*) - [L] RewriteRule ^doxygen36(/|$)(.*) - [L] RewriteRule ^doxygen38(/|$)(.*) - [L] RewriteRule ^doxygen40(/|$)(.*) - [L] RewriteRule ^doxygen41(/|$)(.*) - [L] RewriteRule ^coda(/|$)(.*) - [L] RewriteRule ^octave(/|$)(.*) - [L] RewriteRule ^octave\.old(/|$)(.*) - [L] RewriteRule ^old_packages(/|$)(.*) - [L] # webserver of sourceforge doesn't understand END rewrite rule flag, # so we have to check for looping instead if necessary # forbid direct access to packages directory RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^packages(/|$)(.*) - [F] # paths in all other sudirectories are rewritten to be under directory # "packages" RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^(.+/.*) /packages/$1 [L] # FIXME: Trailing slash is not appended for (non-existing, to be # re-written) package directories at top level. This should be cured # in a better way than with the following. RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+) /packages/$1/ [L] <FilesMatch "\.(php|css)$"> FileETag None <ifModule mod_headers.c> Header unset ETag Header unset Expires Header set Cache-Control "no-cache, must-revalidate" </ifModule> </FilesMatch>