linux after install

Ubuntu 11.04 Checklist

(Checklist for 10.10 is here. )

  1. Do first
  2. Compiz Fusion
  3. Apache
  4. Do first

    1. Turn off sound effects.
    2. Set windows to roll up when titlebar is double-clicked, and to get the focus when the mouse is over them.
    3. If in its last life this motherboard was a Windows machine, Set the hardware clock to the system clock which should have been updated via ntp (check that ntp is running).
      $ sudo aptitude install ntp ntpdate
      
        [edit /etc/ntp.conf if necessary]
        [use ntpdate with ntp server name to fix]
      
      $ sudo hwclock -w
    4. Download some files:
      wget http://jkcunningham.com/code/.Xdefaults
      wget http://jkcunningham.com/code/.mrxvtrc
      wget http://jkcunningham.com/code/.hgrc
      wget http://jkcunningham.com/code/dot-sbclrc
      wget http://jkcunningham.com/code/dot-emacs
      wget http://jkcunningham.com/code/dot-bashrc-11.04
      
    5. Make any changes in /etc/skel/.bashrc before creating other accounts. This way they propagate to new accounts automatically. In particular, add the following — and make sure the PATH gets defined above the non-interactive escape near the top:
      alias lt='lrtF'
      alias ssh='ssh -X'
      # evince wants an older version of libz.so which I keep in /usr/local/lib
      # The current version is in /home/jcunningham/lib/ for graphics work in Lisp
      alias evince='LD_LIBRARY_PATH=/usr/local/lib && evince'
      
      PATH=$HOME/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:$PATH
      export LD_LIBRARY_PATH=${HOME}/lib:/usr/local/lib:$LD_LIBRARY_PATH
      
    6. Make sure main user is a member of audio, networks, wifi, etc. groups. Add root as a user:
      $ sudo passwd root
      
        [run System Settings / Users and Groups]
    7. Install mrxvt and aterm (the latter saved my ass once when mrxvt/xterm/Eterm were all logging me out on launch). Add them to the ~/.gnome2/nautilus-scripts/ folder so they look like this:
      $ sudo apt-get mrxvt aterm
      $ cd ~/.gnome2/nautilus-scripts
      $ nano mrxvt
      
      #!/bin/sh
      cd && mrxvt
      
      $ nano aterm
      
      #!/bin/sh
      cd && mrxvt
      
      $ chmod +x mrxvt aterm

    Compiz Fusion

    1. Make sure the latest 3d accellerated device drivers are installed (e.g. Nvidia) so it will run.
    2. Install compiz-fusion.
      sudo apt-get install ubuntu-restricted-extras
      sudo apt-get install compizconfig-settings-manager
      
    3. Go into System Settings -> CCSM -> General Settings and set the desktop size to 4 across, 1 down
    4. Now turn on the cube, rotating cube, and modify the keybindings. Will need to turn on some other stuff which gets cleared. Here is the list of what I have running:
      • Composite, Gnome Compatibility, OpenGL
      • Desktop Cube, Ubuntu Unity Plugin, Rotate Cube, Viewport Switcher
      • 3D Windows Cube, Reflection and Deformation, Window Decoration
      • JPEG, Png, Svg
      • Bailer, Compiz Library Toolbox, Workarounds
      • Move Window, Resize Window,
    5. In the Unity Plugin, set the panel opacity to about .5 and crank the icon size down as small as it goes (in experimental)
    6. After installing CCSM, fix the panel width and make it semi-transparent (go to Desktop/Unity plug in, check experimental section

    Apache

    1. Install apache2
      sudo apt-get install apache
    2. Install and a2enmod any missing modules from installation. Look in /etc/apache2/mods-enabled/. Here's what I have running now:
      ls -1 /etc/apache2/mods-enabled/
      alias.conf
      alias.load
      auth_basic.load
      auth_digest.load
      authn_file.load
      authz_default.load
      authz_groupfile.load
      authz_host.load
      authz_user.load
      autoindex.conf
      autoindex.load
      cgid.conf
      cgid.load
      deflate.conf
      deflate.load
      dir.conf
      dir.load
      env.load
      mime.conf
      mime.load
      negotiation.conf
      negotiation.load
      proxy_balancer.conf
      proxy_balancer.load
      proxy.conf
      proxy_html.conf
      proxy_html.load
      proxy_http.load
      proxy.load
      reqtimeout.conf
      reqtimeout.load
      setenvif.conf
      setenvif.load
      ssl.conf
      ssl.load
      status.conf
      status.load
      userdir.conf
      userdir.load
      
    3. Add the site files. One of these is required for each domain.
      • sites-available/olympus.conf
        <VirtualHost *:80>
        	DocumentRoot "/var/www/olympus.net/htdocs"
        	ServerName	olympus.net
            ServerAlias www.olympus.net hades.olympus.net jkcunningham.net www.jandmworks.net
        	ServerAdmin	jeffrey@jkcunningham.com
            CustomLog   /var/www/olympus.net/logs/access_log combined
            ErrorLog    /var/www/olympus.net/logs/error_log
        	LogLevel   	info
        	<IfModule mod_proxy.c>
        	    ProxyRequests Off
                ProxyPreserveHost On
        	    ProxyVia Off
        	    <Proxy *>
        	    	   Order deny,allow
                       Allow from all
        	    </Proxy>
        	    ProxyPass / http://127.0.0.1:4445/
        	    ProxyPassReverse / http://127.0.0.1:4445/
        	</IfModule>
        	<IfModule peruser.c>
        	        # this must match a Processor
        	        ServerEnvironment apache apache
        	        MinSpareProcessors 4
        	        MaxProcessors 20
        	</IfModule>
        	<IfModule itk.c>
        	        AssignUserID apache apache
        	        MaxClientsVHost 50
        	</IfModule>  
        	<IfModule mpm_peruser_module>
        		ServerEnvironment apache apache
        	</IfModule>
            Alias /doc/ "/usr/share/doc/"
            <Directory "/usr/share/doc/">
                Options Indexes MultiViews FollowSymLinks
                AllowOverride None
                Order deny,allow
                Deny from all
                Allow from 127.0.0.0/255.0.0.0 ::1/128
            </Directory>
        </VirtualHost>
        
        <IfModule mod_ssl.c>
        <VirtualHost *:443>
        	DocumentRoot /var/www/olympus.net/htdocs
        	ServerName   olympus.net
        	ServerAlias  hades.olympus.net www.hades.olympus.net 
        	ServerAdmin  jeffrey@jkcunningham.com
                CustomLog   /var/www/olympus.net/logs/access-ssl_log combined
                ErrorLog    /var/www/olympus.net/logs/error-ssl_log
        	LogLevel warn
            <IfModule mod_proxy.c>
        	    ProxyRequests Off
        	    ProxyVia Off
        	    <Proxy *>
        	    	   Order deny,allow
                       Allow from all
        	    </Proxy>
        	    ProxyPass / http://127.0.0.1:4446/
        	    ProxyPassReverse / http://127.0.0.1:4446/
        	</IfModule>
        	SSLEngine on
        	SSLCertificateFile    /etc/apache2/ssl/olympus.crt
        	SSLCertificateKeyFile /etc/apache2/ssl/olympus.key
        	<FilesMatch ".(cgi|shtml|phtml|php)$">
        		SSLOptions +StdEnvVars
        	</FilesMatch>
        	<Directory /usr/lib/cgi-bin>
        		SSLOptions +StdEnvVars
        	</Directory>
        	BrowserMatch ".*MSIE.*" 
        		nokeepalive ssl-unclean-shutdown 
        		downgrade-1.0 force-response-1.0
        </VirtualHost>
        </IfModule>
        
      • Make an ordered softlink from /etc/apache2/sites-enabled
      • sudo ln -s /etc/apache2/sites-available/olympus.conf /etc/apache2/sites-enabled/000-olympus

        Next would be 001-nextsite and so on.

    4. Turn on ports to listen to in /etc/apache2/ports.conf
      # If you just change the port or add more ports here, you will likely also
      # have to change the VirtualHost statement in
      # /etc/apache2/sites-enabled/000-default
      
      NameVirtualHost *:80
      Listen 80
      
      <IfModule mod_ssl.c>
          # If you add NameVirtualHost *:443 here, you will also have to change
          # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
          # to <VirtualHost *:443>
          # Server Name Indication for SSL named virtual hosts is currently not
          # supported by MSIE on Windows XP.
      
      ## (jkc) I am letting Hunchentoot handle SSL, so all I
      ## need here is to let Apache relay traffic on 443 to the hunchentoot
      ## server.
          NameVirtualHost *:443
          Listen 443
      </IfModule>
      
      <IfModule mod_gnutls.c>
          Listen 443
      </IfModule>