Install a new server (CentOS)

From Organic Design wiki
Revision as of 06:04, 16 April 2007 by Bender (talk | contribs) (Caretaker: {{#security:edit|dev}})

{{#security:edit|dev}}

# ---------------------- Installation on wikiexpert.com -------------------------- # 

# DATA & TIMEZONE
# Make sure time is set correctly before wiki install
# On Redhat, PERL couldn't do locale properly and I had to hard-wire Linux zone with
cp /etc/localtime /etc/localtime.bak
cp /usr/share/zoneinfo/NZ /etc/localtime

# Original rpm apache installation in /var/www controlled with /usr/sbin/apachectl
# /var/www/html/index.shtml is the index file
# Source install at /usr/local/apache2
# Apache now controlled with /usr/local/apache2/bin/apachectl
cd /tmp
wget http://apache.mirror99.com/httpd/httpd-2.2.0.tar.gz
tar -zxvf httpd-2.2.0.tar.gz
cd httpd-2.2.0
./configure --enable-rewrite --enable-ssl
make 
make install ###### NOTE Apche was not installed into init.d #####


# ------------------------- Zlib and BZip ------------------------------ #
cd /tmp
wget http://www.zlib.net/zlib-1.2.3.tar.gz
tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install
wget http://www.bzip.org/1.0.3/bzip2-1.0.3.tar.gz
tar -zxvf bzip2-1.0.3.tar.gz
cd bzip2-1.0.3.tar.gz
make
make install


# ---------------------  Installing mysql 5.0.19 from source --------------------- #
#  see INSTALL-BINARY
wget ftp://mirror.services.wisc.edu/mirrors/mysql/Downloads/MySQL-5.0/mysql-standard-5.0.19-linux-i686.tar.gz
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
cd /usr/local
gunzip < /tmp/mysql-standard-5.0.19-linux-i686.tar.gz | tar xvf -
ln -s /usr/local/mysql-standard-5.0.19-linux-i686 mysql
cd mysql
./scripts/mysql_install_db --user=mysql
chown -R root  .
chown -R mysql data
chgrp -R mysql .
./bin/mysqld_safe --user=mysql & ##### NOTE - MySQL was not installed into init.d #####


# ---------------------------  ming in /usr/local/lib/ --------------------------- #
# See http://www.opaque.net/wiki/index.php?MingInstall,
# http://www.opaque.net/wiki/index.php?PlatformIssues
cd /tmp
wget http://superb-west.dl.sourceforge.net/sourceforge/ming/ming-php-0.3.0.tar.gz
tar -zxvf ming-php-0.3.0.tar.gz
cd ming-0.3.0/php_ext
cp -rf * ../../php-4.4.2/ext/ming/

# copy png2dbl into /usr/local/apache2/htdocs/wiki/png2dbl
chown daemon /usr/local/apache2/htdocs/wiki/png2dbl
chmod 755 /usr/local/apache2/htdocs/wiki/png2dbl
mkdir /usr/local/apache2/htdocs/www
chown daemon /usr/local/apache2/htdocs/www
chmod 777 /usr/local/apache2/htdocs/www


# ---------------------------------- PHP-4.4.2 ----------------------------------- #
cd /tmp
wget http://us2.php.net/distributions/php-4.4.2.tar.gz
tar -zxvf php-4.4.2.tar.gz
cd php-4.4.2
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-ming --with-xml --with-domxml --with-zlib-dir=/usr/local/lib
make 
make install
cp php.ini-dist /usr/local/lib/php.ini
nano /usr/local/lib/php.ini
#    memory_limit = 64M
#    extension_dir = "/usr/lib/php4/"
#    extension=domxml.so
#    extension=mbstring.so
vi /usr/local/apache2/conf/httpd.conf

# HTTPD.CONF
# Add: LoadModule php4_module module/libphp4.so
# Add: AddType application/x-httpd-php .php .phtml
# Add: index.php to DirectoryIndex directive
# Uncomment include of extra/httpd-vhosts
# Change document root to /var/www
# IMPORTANT: Uncomment the line which says <tt>EnableSendFile off</tt>

# CURRENT VIRTUAL HOSTS FILE
NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot /var/www/organicdesign
    ServerName organicdesign.co.nz
    ServerAlias www.organicdesign.co.nz
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/w.*/
    RewriteRule ^/(.*) /wiki/index.php?title=$1 [L]
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /var/www/kaizen
    ServerName kaizenexpert.com
    ServerAlias www.kaizenexpert.com
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/w.*/
    RewriteRule ^/(.*) /wiki/index.php?title=$1 [L]
</VirtualHost>


# ---------------------------------- SCP ----------------------------------- #
# - you need all this to do SCP from Perl without requiring an linux account with no passwd
wget http://search.cpan.org/CPAN/authors/id/R/RG/RGIERSIG/IO-Tty-1.02.tar.gz
gzip -dc IO-Tty-1.02.tar.gz | tar -xof -
cd IO-Tty-1.02
perl Makefile.PL
make install

wget http://search.cpan.org/CPAN/authors/id/R/RG/RGIERSIG/Expect-1.15.tar.gz
gzip -dc Expect-1.15.tar.gz | tar -xof -
cd Expect-1.15
perl Makefile.PL
make install

wget http://search.cpan.org/CPAN/authors/id/P/PH/PHOENIX/Term-ReadPassword-0.07.tar.gz
gzip -dc Term-ReadPassword-0.07.tar.gz | tar -xof -
cd Term-ReadPassword-0.07
perl Makefile.PL
make install

wget http://search.cpan.org/CPAN/authors/id/D/DJ/DJBERG/Net-SCP-Expect-0.12.tar.gz
gzip -dc Net-SCP-Expect-0.12.tar.gz | tar -xof -
cd Net-SCP-Expect-0.12
perl Makefile.PL
make install

# Setup CPAN
perl -MCPAN -e shell
# cpan> install Bundle::CPAN
# cpan> reload cpan
# cpan> install IO::Socket::SSL 
# cpan> exit


# ----------------------- Upgrading gcc to gcc-4.1.1 for R --------------------------- #
# Check off list http://gcc.gnu.org/install/prerequisites.html
cd /tmp
wget ftp://ftp.gwdg.de/pub/misc/gcc/releases/gcc-4.1.1/gcc-4.1.1.tar.bz2
bunzip2 gcc-4.1.1.tar.bz2
tar -xvf gcc-4.1.1.tar
cd gcc-4.1.1
./configure --prefix=/usr/local --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --disable-libunwind-exceptions --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux --enable-languages=c,c++,fortran
make 
make install


# -------------------------- Installing R from source -------------------------------- #
# Two major releases of R each year, currently R-2.3.1

cd /tmp
wget http://cran.cnr.berkeley.edu/src/base/R-2/R-2.3.1.tar.gz
tar -zxvf R-2.3.1.tar.gz
cd R-2.3.1
./configure --with-x=no  # Using fortran compiler in gcc
make
make install