no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | centos_bare_stack [2012/08/06 15:16] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== CentOS Bare Stack ====== | ||
+ | * [[CentOS]] | ||
+ | * [[CentOS Deployment]] | ||
+ | * [[Apache Source Installation]] | ||
+ | * [[OpenSSL Source Installation]] | ||
+ | |||
+ | Goals: | ||
+ | |||
+ | * Strip an existing install of CentOS packages | ||
+ | * Use CentOS development tools (gcc, make, autoconf, etc.) | ||
+ | * Build AMP stack manually for future maintenance | ||
+ | * Duplicate standard CentOS install locations (using /usr as prefix, etc.) | ||
+ | |||
+ | ==== Minimal Install ==== | ||
+ | |||
+ | Since it's more likely than not that you are starting with an existing CentOS install, the first place to begin is by stripping it down to its basics. | ||
+ | |||
+ | Here are some basics you should download the source files for before removing any packages: | ||
+ | |||
+ | * openssl | ||
+ | * elinks | ||
+ | * screen | ||
+ | * vim | ||
+ | * dropbear | ||
+ | * openssh | ||
+ | * htop | ||
+ | |||
+ | == Current Package Set == | ||
+ | |||
+ | Get a list of the currently installed programs: | ||
+ | |||
+ | < | ||
+ | yum list installed | cut -d " " -f 1 | ||
+ | </ | ||
+ | |||
+ | ==== Remove Packages ==== | ||
+ | |||
+ | There is a list of " | ||
+ | |||
+ | < | ||
+ | yes N | yum remove `curl -s http:// | ||
+ | </ | ||
+ | |||
+ | === Base Packages === | ||
+ | |||
+ | Need to reinstall: | ||
+ | |||
+ | * sudo | ||
+ | * vim | ||
+ | |||
+ | < | ||
+ | yes N | yum remove `curl -s http:// | ||
+ | </ | ||
+ | |||
+ | == sudo == | ||
+ | |||
+ | You will need the pam.d sudo file, since yum will remove it. | ||
+ | |||
+ | < | ||
+ | yum -y remove sudo | ||
+ | wget http:// | ||
+ | </ | ||
+ | |||
+ | You will also need to run '' | ||
+ | |||
+ | === Desktop Packages === | ||
+ | |||
+ | Need to reinstall: | ||
+ | |||
+ | * gd | ||
+ | * ImageMagick | ||
+ | |||
+ | < | ||
+ | yes N | yum remove `curl -s http:// | ||
+ | </ | ||
+ | |||
+ | === System Packages === | ||
+ | |||
+ | < | ||
+ | yes N | yum remove `curl -s http:// | ||
+ | </ | ||
+ | |||
+ | ==== Install Packages ==== | ||
+ | |||
+ | First let's start with the base system, and the applications you are already familiar with. Install these from source: | ||
+ | |||
+ | * htop | ||
+ | * unfoo | ||
+ | * vim | ||
+ | * libpng | ||
+ | * libjpeg | ||
+ | * libgd | ||
+ | * imagemagick | ||
+ | |||
+ | === vim === | ||
+ | |||
+ | Create a symlink when finished for CentOS compatability: | ||
+ | |||
+ | < | ||
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | === OpenSSL === | ||
+ | |||
+ | You'll need to keep the OpenSSL libraries that are installed with CentOS to maintain the existing system. | ||
+ | |||
+ | === OpenSSH === | ||
+ | |||
+ | Install binary as needed, then download the pam.d and init.d files, and add the script to startup: | ||
+ | |||
+ | < | ||
+ | mkdir -p / | ||
+ | chmod 0711 / | ||
+ | wget http:// | ||
+ | chmod +x / | ||
+ | wget http:// | ||
+ | chkconfig --add sshd | ||
+ | chkconfig sshd on | ||
+ | </ | ||
+ | |||
+ | === ImageMagick === | ||
+ | |||
+ | You'll need some development libraries before installing: | ||
+ | |||
+ | CentOS packages: | ||
+ | |||
+ | < | ||
+ | yes N | yum install `curl -s http:// | ||
+ | </ | ||
+ | |||
+ | Source libraries: | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | Once all the libraries are installed, you can install ImageMagick: | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | === Apache === | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | Safely remove Apache and related applications: | ||
+ | |||
+ | < | ||
+ | yes N | yum remove `curl -s http:// | ||
+ | </ | ||
+ | |||
+ | Apache comes with templates for directory layouts in '' | ||
+ | |||
+ | === ruby === | ||
+ | |||
+ | Ruby is a little different, in that you cannot install it directly from the source code, because it requires a previous version of ruby installed to do that. You can, instead, use rvm to install it: | ||
+ | |||
+ | < | ||
+ | echo insecure >> ~/.curlrc | ||
+ | curl -L get.rvm.io | bash -s stable | ||
+ | gpasswd -a dtrike rvm | ||
+ | source / | ||
+ | rvm install 1.9.3 | ||
+ | </ |