So today i had to get Apache, PHP and Mysql running again on my macbook after installing a new hardrive.
PHP is installed already so thats fine. Mysql a simple download and install. I stick to the 32 bit for now as it not everything plays nicely w/ the 64 bit. Especially not with Python.
Apache is naturally installed. Just need to turn on/off the internet sharing within the System Preferences Pane.
Then comes the tricky part.
In the http.conf file: ensure that the line including the ModRewrite module is uncommented.
The line will look like this:
LoadModule rewrite_module libexec/apache2/mod_rewrite.soThen go down to your system directive:
And make it look like this:
<Directory />
Options FollowSymLinks
AllowOverride All
# Order deny,allow
# Deny from all
</Directory>Also ensure that in the /etc/apache2/users/username.conf file that it looks like:
<Directory "/Users/username/Sites/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>Additionally when defining your Extra Virtual hosts: Make sure to enable all the error logs etc:
ex:
<VirtualHost *:80>
ServerAdmin username@gmail.com
DocumentRoot /Users/username/Sites/my.site.com
ServerName local.site.com
ServerAlias local.site.com
RewriteLog "/Users/username/Sites/logs/my.site.com/rewrite_log"
ErrorLog "/Users/username/Sites/logs/my.site.com/error_log"
CustomLog "/Users/username/Sites/logs/my.site.com/access_log" common
</VirtualHost>
Archive for category Website Development
Source: http://blog.ultranurd.net/0000/01/28/compiling-django-with-twitter-support-as-a-mac-os-x-universal-binary/#Python
Files:
- MySQL 5.1.30
- Python 2.6.1
- setuptools 0.6c9-py2.6
- MySQL-python 1.2.2
- Django 1.0.2-final
- simplejson 2.0.7
- python-twitter 0.5
- mod_python 3.3.1
Python
While python.org provides a nice OS X Installer package for 2.6.1, it is compiled as a 32-bit “fat” binary, which doesn’t help us address the Universality problem. We’ll use their script for generating a package as well as installing the framework directly, after some minor changes, courtesy this mailing list post by Ned Deily.
If you’re feeling particularly trustworthy, you can download the disk image containing the Installer package that I built from my website. If not, you can make the changes yourself. Either way, Python.framework will be installed in /Library/Frameworks/.
In the Python 2.6.1 source directory, open the file Mac/BuildScript/build-installer.py in your favorite editor, and make the following changes on lines 1, 65, 68, 71, 633, and 1020:
1c1
< #!/usr/bin/python2.3
---
> #!/usr/bin/python
65c65
< DEPSRC = os.path.expanduser('~/Universal/other-sources')
---
> #DEPSRC = os.path.expanduser('~/Universal/other-sources')
68c68
< SDKPATH = "/Developer/SDKs/MacOSX10.4u.sdk"
---
> SDKPATH = "/Developer/SDKs/MacOSX10.5.sdk"
71c71
< ARCHLIST = ('i386', 'ppc',)
---
> ARCHLIST = ('i386', 'ppc', 'x86_64', 'ppc64')
633c633
< runCommand("%s -C --enable-framework --enable-universalsdk=%s LDFLAGS='-g -L%s/libraries/usr/local/lib' OPT='-g -O3 -I%s/libraries/usr/local/include' 2>&1"%(
---
> runCommand("%s -C --enable-framework --enable-universalsdk=%s --with-universal-archs=all LDFLAGS='-g -L%s/libraries/usr/local/lib' OPT='-g -O3 -I%s/libraries/usr/local/include' 2>&1"%(
1020c1020
< os.environ['MACOSX_DEPLOYMENT_TARGET'] = ‘10.3′
—
> os.environ['MACOSX_DEPLOYMENT_TARGET'] = ‘10.5′
You’ll note that some of the changes migrate this script to 10.5 (the hashbang path to Python, the deployment target and SDK version), and some of the changes add support for a Universal binary (adding to the architecture list. It’s possible that some of these changes will be fixed in a future source release of Python 2.6, but I’d guess that most efforts are focused on Python 3.0 at this point.
Once you’ve made the changes, just run the script. You need to be in the BuildScript subdirectory, unless you want to change some of the tmp paths the script uses. This script will do everything, build the framework, download and build any dependencies, install the framework, and generate a disk image. Just sit back and wait!
cd /usr/local/src/Python-2.6.1/Mac/BuildScript/
./build-installer.py
Depending on your shell configuration, you may need to make changes. In my $PATH /usr/local/bin/ trumps /usr/bin/, and I want to keep the Leopard system install of Python 2.5 in place in /System/Library/ and /usr/bin/. Here’s what I did:
cd /usr/local/bin/
for py in `find /Library/Frameworks/Python.framework/Versions/2.6/bin -name py*`; do ln -s $py; done;
This creates a symlink in /usr/local/bin/ for each of the various just-build Python binaries inside the framework (you’ll not that this is equivalent to the system install). If you run which python now, it should return /usr/local/bin/python. If not, adjust your $PATH as needed in your shell configuration file. This is beyond the scope of this post.
mod_python
Sadly, we end with some pain. Long story short, mod_python relies on apxs (the APache eXtenSion tool, best abbreviation ever) to configure its build, and does not obey any amount of environment variable manipulation to pass in multiple architectures. apxs retrieves useful compiler options, apparently based on the ones used to build your local copy apache… and herein lies the problem. apxs reads those flags from /usr/share/httpd/build/config_vars.mk, and if you inspect that file, you’ll see that there are no CFLAGS or LDFLAGS specified. This is particularly odd, considering that httpd is clearly running as a 64-bit process (according to Activity Monitor), and file reports that all of my other shared objects in /usr/libexec/apache2/ are Universal binaries.
This next bit is my idea, since I couldn’t find any suggestions by googling around. I know perl, so I just read the apxs script to figure out what it was doing, and how it was passing arguments to libtool.
This is probably a terrible idea.
Make a backup of config_vars.mk before adding the four architecture flags to CFLAGS and LDFLAGS on lines 59 and 62:
59c59
< CFLAGS =
---
> CFLAGS = -arch i386 -arch x86_64 -arch ppc7400 -arch ppc64
62c62
< LDFLAGS =
---
> LDFLAGS = -arch i386 -arch x86_64 -arch ppc7400 -arch ppc64
If you run apxs -q CFLAGS or apxs -q LDFLAGS, you’ll see these values, instead of empty strings.
Now just run the standard autoconf procedure to build and install mod_python.so in /usr/libexec/apache2/:
cd /usr/local/src/mod_python-3.3.1/
./configure
make
cd test
python test.py
cd ..
make
sudo make install
Store Data for full text searches in key:value pairs.
Tokyo DB
http://www.igvita.com/2009/02/13/tokyo-cabinet-beyond-key-value-store/
A really slick way to have any font you want on your website.
I have come across some really great places to deal with file backups, syncing, and repository building.
File Syncing:
http://www.samba.org/rsync/
http://www.getdropbox.com
http://www.cis.upenn.edu/~bcpierce/unison/
Repository:
http://git-scm.com/
Overview:
As a web developer or a website owner its important to know the the laws and processes you can perform, to protect your online work from being copied, plagiarized.
Reality Check:
It is impossible to prevent it from occurring, but you can take precautions and make life harder for those that would attempt to illegally take your work.
How To Protect your:
-
General:
- Paid:
- U.S. Copyright: File your work with the U.S. Copyright Dept.
- Additional info: http://www.riger.com/articles/copyright.html
- Lizard Lock: (Untested) Lizard Lock provides a service that will achieve:
- pdf security, flash security, html security, ebook security, elearning security, and software copy control. Stop copying, prevent printing, and control the sharing of your documents, ebooks, training courses, and web content. Protect documents inside and outside your organization, and instantly revoke access to your secure information at any stage.
- Copysentry: An online service that for a monthly fee compares your work against what is on the web and alerts you if it finds matches.
- U.S. Copyright: File your work with the U.S. Copyright Dept.
- Paid:
-
Writing:
- Online services you can use:
- Free:
- Google Alert: With Google Alerts you can specify keywords (things that pertain to your works) and when Google finds articles online that match those words, you receive an email alert notifying you about new content online that it. You can then read the pages provided and if there is an issue you can proceed as appropriate.
- Digital Container: Digital container provides a secure method of selling, and distributing your content. However it enforces a few extra steps for your customer which you may want to take into consideration.
- Free:
- Online services you can use:
-
Photography, Art, Images, Graphics:
- Image:
- Upload a lower resolution image, so that it won’t look that good when printing.
- Embed a water mark: Here is a great tutorial on how to do a water mark in Adobe Photoshop as well as how to automate it.
- Use a flash image gallery.
- Web Technology:
- Prevent “Right Click”: disable the right click making it hard for users to copy the image.
- Add this to your websites HTML BODY tag: <body oncontextmenu=”return false;”>
- Prevent “Right Click”: disable the right click making it hard for users to copy the image.
- Image:
-
Website:
- Add copyright to the bottom of your page in one of the following forms:
- (c) Name 2001
- Copr. Name 2001
- Copyright Name MMI
- Add copyright to the bottom of your page in one of the following forms:
If you have other ideas about what can be done please post them here.
Joes Moss @ http://developwithstyle.com.
Has put together this fantastic little script that virtually acts like version control for your cakephp databases.
Optimal for teams that need to be synce up:
http://github.com/joelmoss/cakephp-db-migrations/tree/master
This is an awesome to firefox plug for optimizing download speed of your page:
http://developer.yahoo.com/yslow/