For: http://lsimons.wordpress.com/2011/01/04/fusion-puppet-gitolite/
Against: http://blog.ianbicking.org/2010/03/10/configuration-management-push-vs-pull/
Showing posts with label CENTOS. Show all posts
Showing posts with label CENTOS. Show all posts
Saturday, 12 March 2011
Monday, 14 February 2011
WebLogic silent.xml for Centos / RHEL 5.5 Production
Oracle do provide a sample, and there are links on the Web but after much frustration, this one actually works.
Assuming the bin file has been downloaded from Oracle, then:
- Create the Middleware directory beforehand.
- Specify
-mode=silent -silent_xml=/full/path/to/silent.xml
on the command line. - This will install everything required, but not the Server examples domain, which is dangerous on a production server.
Monday, 17 January 2011
Saturday, 15 January 2011
Install EPEL Repository on CENTOS
Just putting this here:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Wednesday, 12 January 2011
Install latest Python on Centos
This script will download, compile and install a newer version of Python on CENTOS / RedHat 5.* in a way which respects the underlying Python 2.4 used by Yum etc.
Based on http://www.venkysblog.com/install-python264-modwsgi-and-django-on-cento and http://binarysushi.com/blog/2009/aug/19/CentOS-5-3-python-2-5-virtualevn-mod-wsgi-and-mod-rpaf/.
Based on http://www.venkysblog.com/install-python264-modwsgi-and-django-on-cento and http://binarysushi.com/blog/2009/aug/19/CentOS-5-3-python-2-5-virtualevn-mod-wsgi-and-mod-rpaf/.
ZSH and .zshrc
Apparently ZSH is quite good so I'm going to try it out. On most Linux distros this is going to be installed anyway, but the steps are:
yum install zsh
chsh -s /bin/zsh
Here are some links about customizing it:
yum install zsh
chsh -s /bin/zsh
Here are some links about customizing it:
- http://grml.org/zsh/zsh-lovers.pdf
- http://stackoverflow.com/questions/171563/whats-in-your-zshrc
- http://pthree.org/2008/11/23/727/
- http://aperiodic.net/phil/prompt/
- http://jeff.robbins.ws/reference/my-zshrc-file
- http://my.opera.com/blackbelt_jones/blog/2007/06/05/zsh-prompt-configuration-issue-solved
Saturday, 31 July 2010
Production Flask app on CENTOS and Apache via mod_wsgi
Flask is a Python web framework which embraces simplicity and seems to work. It is based on Werkzeug so it is a WSGI application.
1. Install python2.7, mod_wsgi and Flask on production server.
WSGI uses a file with the extension .wsgi as the interface between the wsgi container (in this case Apache / mod_wsgi) and the app. Flask has excellent documentation:
- http://flask.pocoo.org/
- http://werkzeug.pocoo.org/
- http://en.wikipedia.org/wiki/Web_Server_Gateway_Interface
I've had some luck in the past using mod_wsgi to run Django apps, so I suspect getting a Flask app to run will be similar.
- http://code.google.com/p/modwsgi/
- http://things-ive-learned-about-it.blogspot.com/2010/04/using-modwsgi-to-support-django.html
Using Google, I found the following in the Werkzeug Docs, which I reviewed for the following steps:
Using Centos 5.4 (unbranded RHEL) comes with with python 2.4 and apache 2.2. Centos (and RHEL) use Python extensively under the hood (for Yum, among other things). I want to use a later version of Python, but one may not simply "upgrade" the version of Python- without breaking the OS - you need to install an additional version. I followed the steps in this guide, under the head "Install Python":
I chose to use Python 2.7 as its the last stable release of Python 2, and I don't intend going Python 3.* for a while. I hope I don't regret that. I needed to change a few things in obvious places as the guide covers Python 2.6.
Next I carried out the steps labelled "Install Setuptools" as this is necessary.
Next I carried out the steps labelled "Install Setuptools" as this is necessary.
Next I carried out the steps labelled "Install mod_wsgi", restarted httpd and it started!
To install Flask I ran SetupTools explicitly from the location inside of /opt/python2.7/ to install 'pip' into the 2.7 Python distribution. Next I added an alias to pip to the ~/.bash_profile in the same way this was done for the python binary in the VenkysBlog page. Finally I used the source command to load the alias and ran:
pip install Flask
2. Create an appropriate wsgi file.
To install Flask I ran SetupTools explicitly from the location inside of /opt/python2.7/ to install 'pip' into the 2.7 Python distribution. Next I added an alias to pip to the ~/.bash_profile in the same way this was done for the python binary in the VenkysBlog page. Finally I used the source command to load the alias and ran:
pip install Flask
2. Create an appropriate wsgi file.
WSGI uses a file with the extension .wsgi as the interface between the wsgi container (in this case Apache / mod_wsgi) and the app. Flask has excellent documentation:
Steps are as follows:
- Place Flask application in a subfolder of the webroot (for testing I just used the "Flask is Fun" example: http://flask.pocoo.org/).
- Make a file called 'yourapp.wsgi' in the same structure - this is written in Python syntax - here you need to import your app and bind it to the name 'application'. mod_wsgi will then call this object in the appropriate way.
3. Edit apache configuration to invoke wsgi application.
Finally some directives need adding to httpd.conf. The LoadModule statement was added as part of step 1, however the wsgi file need to be referenced vs. the appropriate virtual root.
Finally some directives need adding to httpd.conf. The LoadModule statement was added as part of step 1, however the wsgi file need to be referenced vs. the appropriate virtual root.
Great so everything worked! Wasn't that easy?
Monday, 15 February 2010
Upgrading Centos 5.3 to 5.4
yum clean all yum update glibc\* yum update yum\* rpm\* python\* yum clean all yum update shutdown -r now
Monday, 2 November 2009
Automated Rails Website Clone / Mirror with WGet and FTP script.
As a bit of paid work outside of my day job I wrote a css layout for someone's business website. It was just a product presentation site. Eventually I was being asked to update it all the time so I wrote a rails app to allow stuff to be added by the customer in a 'wiki' style manner: [http://code.google.com/p/rapid-space/].
At first I had this served from my host, but it was a bit slow and occasionally my host had issues. So I've moved the rails app onto another domain, and each week I'm looking to configure a copy process to mirror the rails site, then FTP it up to my customer's own public host.
Clone locally
First step is to clone the site generated from the rails app into a static folder on my host, which is running CENTOS. I did this using wget:
First step is to clone the site generated from the rails app into a static folder on my host, which is running CENTOS. I did this using wget:
- [root@host ~]# wget --mirror -w 2 -p --convert-links -P foldertocopy2 http://rooturltomirror/
Given the scale of this site, there is no benefit to leaving the asset timestamps feature switched on, so I turned it off as follows ... in /config/environment.rb add:
- ENV['RAILS_ASSET_ID'] = ''
Finally, I was missing files which were linked to via the CSS file, i.e. via @import url("importthis.css"); or images which are only referenced by the css file. Given these files are not subject to change, I'm going to overwrite them from a static folder when I upload to the public host- I can use the same mechanism to blank out the forms (which won't work on a static host).
FTP to the public domain.
I just tried to use the ftp client built into CENTOS for this, and echo the commands into it via the EOF mechanism in a shell script, per: http://www.cyberciti.biz/faq/linux-unix-autologin-cron-ftp-script/
However, using the standard ftp command you can't recurse through directories. I.e. you can copy all files in a directory, but not descend into sub directories. First I looked at a scripted option such as: http://expect.nist.gov/example/rftp . This approach made me nervous so I upgraded to lftp on my host ... [yum install lftp], and found I could upload the site as follows (with the command 'mirror -R'):
- [root@host ~]# lftp public-host-ftp-server -u ftpusername, ftppassword -e "mirror -R /local/source /remote/destination"
Subscribe to:
Posts (Atom)