This description uses cps-forces.eecs.berkeley.edu as an example. Be careful to substitute the appropriate text where necessary.
In September, 2012, Mark Kraitchman wrote:
With Apache httpd and free SSL multi-domain certs from InCommon, most folks find they no longer need to use DNS names with seperate A records / seperate IP addresses. Instead with multi-domain SSL certs, dns nicknames can be used. Using dns nicknames and multi-domain SSL certs also simplifies requesting holes in the IRIS border firewall for https and http.icyphy and terraswarm both appear to be available IRIS device names.
An "Update a Device" form for andrews can be submitted requesting the dns nicknames. Will that work for you?
Request that an A record to 128.32.48.150 and an MX to moog.eecs.berkeley.edu be setup for the new host.
Create new mailman installation for the new site. (See the FAQ Adding a Mailman installation when adding a new website.)Send mail to hostmaster@eecs requesting these DNS changes:
Add the following to /etc/mail/local-host-names:
cps-forces cps-forces.eecs cps-forces.eecs.berkeley.eduIf the new website has a .org toplevel domain, add an entry to local-host-names.
If sendmail has been recently updated, you can recreate the configuration, otherwise just edit /etc/mail/sendmail.cf, look for the other domains and add similar lines.
MASQUERADE_EXCEPTION(`cps-forces.eecs.berkeley.edu')dnlafter any other MASQUERADE_EXCEPTION lines.
Build the new sendmail.cf file by simply running the command
make
As root, restart sendmail:
$ pkill -HUP sendmail
Log on to http://repo.eecs.berkeley.edu and create a new non-personal space for the new site. The name would be cps-forces
On http://repo.eecs.berkeley.edu
*www
SVN Repo (cps-forceswww
).
cps-forces
) (The group name does not matter much)
Create new databases (as mere mortal):
mysql
user on moog: cd /home/www/mysqlarchive/ mkdir predb_cps-forces cd predb_cps-forces /home/www/php/util/mysqldumpall
id
in the code that creates
the entry in the sites
table because there
are two entries for the trust website. To create
e3scenter, which is the 5th website, I had to edit
the script and change '${ID}',
to '6',
.
% bash % export MYSQL_PASSWORD='xx'
% cd /home/www/php/bin % ./bootstrap_database -n cps-forces.eecs.berkeley.edu -i 2 -u your_GSRC_username -t "Donald O. Pederson Center for Cps-Forces Systems Design" -s cps-forces
Make the following changes to /usr/local/apache/conf/extras/httpd-vhosts.conf, depending on whether the server you are working on is using IP-based virtual hosts or not. (moog does, markov doesn't):
<VirtualHost 128.32.32.199> ServerName cps-forces.eecs.berkeley.edu ... </VirtualHost>for the new site, using the right IP address for the new host, and edit its contents.
<VirtualHost 128.32.32.199:443> ... </VirtualHost>in the
<IfDefine SSL> ... </IfDefine>
block,
using the right IP address for the new host, and edit its contents.
<IfDefine SSL> ... </IfDefine>
block
containing the "Listen
" directives, add a new one, with a
new HTTPS port number.
Listen 4432(The last digit increases by one for each new virtual host.)
NameVirtualHost
line to the other ones, with the same
HTTPS port number:
NameVirtualHost 128.32.32.199:4432
<VirtualHost 128.32.32.199> ServerName cps-forces.eecs.berkeley.edu ... </VirtualHost>for the new site, and edit its contents.
<VirtualHost 128.32.32.199:443> ... </VirtualHost>in the
<IfDefine SSL> ... </IfDefine>
block,
and edit its contents.
Also, change the port number after the colon in the IP
address to match the new one in the Listen
directive you
added, above.
Add the following line to /usr/local/apache/conf/rewrite.conf:
Alias /cps-forceswww/ "/home/www/cps-forceswww"near the similar
Alias
line for /gsrcwww/
.
Make the following changes to /usr/local/tomcat/conf/server.xml:
<Context ...> ... </Context>
section,
by duplicating one already there, and editing the values of
<Context ...>
tag's path
and docBase
parameters
<Logger ...>
tag's prefix
parameter
value
parameter for the
<Parameter name="appURLBase" ...>
tag
(set this to match the <Context>
tag's
path
parameter)
Temporarily create the new webapp directory:
root%
cd /home/www/java
root%
mkdir cps-forces
root%
chown www.webmastr cps-forces
root%
chmod 755 cps-forces
Update apache's copy of mod_jk.conf:
root% /etc/init.d/tomcat restart
root% cd /usr/local/apache/conf
root% cp /usr/local/tomcat/conf/auto/mod_jk.conf tomcat-mod_jk.conf
Set up DOCUMENT_ROOT:
Note that when you check out the top pages,
use :ext:www@source.eecs.berkeley.edu:/home/cvs_shortname
where shortname
is
cps-forces
The reason to use www@source.eecs.berkeley.edu
is so that if you set up a
CVS update button on
the main page (like chess and cps-forces), then
the CVS update will work properly.
root% bash root% cd /home/www root% svn co --username vc@cps-forces.org https://repo.eecs.berkeley.edu/svn/projects/cps-forces/cps-forceswww root% cd cps-forceswww root% (cd ../gsrcwww; tar cf - images *.js *.css) | tar xvpf -Then rename files as necessary and add them to the svn repository.
Set up wwwdata:
root% cd /home/www/wwwdata root% mkdir cps-forces.eecs.berkeley.edu root% chown apache.webmastr cps-forces.eecs.berkeley.eduSet up cvswww:
root% cd /home/www/cvswww root% mkdir cps-forces.eecs.berkeley.edu root% chown cvs cps-forces.eecs.berkeley.edu
As www, make a copy of icyphy's PHP code, which will result in a
website that looks just like icyphy's. Part of the idea is that the new websites share code in ~www/php/ucb
.
(Subsequent changes to this prototype starting point are up to you.) Here, we use cps-forces instead of cps-forces.
www% cd /home/www/php www% cp -rp icyphy cps-forces www% ln -s cps-forces www.cps-forces.org www% cd cps-forcesRemove all CVS directories in the new site tree:
www% find /home/www/php/cps-forces -name .svn -exec /bin/rm -r {} ;Descend through the new directory tree, adding everything to svn.
www% su - www www% cd ~www/php www% svn add cps-forces www% svn commit -m "Added cps-forces"
Search for "gsrc", "gigascale" in all PHP files under /home/www/php/cps-forces, and change it.
Edit /home/www/php/cps-forces/config.php3.
If this is a "named virtual host" (i.e., this is markov),
the value assigned to the sslPortExtension
parameter in this
file must match the new HTTPS port number used in
/usr/local/apache/conf/httpd.conf.
Create the new site under the javapages CVS tree.
% svn co --username vc@terraswarm.org https://repo.eecs.berkeley.edu/svn/projects/gsrc/javapages/trunk/javapages % cd javapages Edit makefile, adding "cps-forces" to the DIRS macro. % mkdir cps-forces % cd cps-forces % (cd ../icyphy; tar cf - *) | tar xvpf - % find . -name .svn-exec /bin/rm -rf {} ;Customize the files just copied into this new cps-forces directory, for the new site. (This is the development process for the new site, and may take days or weeks. You might chose to do the next steps first.)
svn add cps-forces svn commit -m "new website: cps-forces" cps-forces
javapages/makefile
and add
your new directory to DIRS
javapages
for icyphy
and make changes. In particular, edit javapages/cps-forces/gsrc/conf/site.properties