How do you set your LAMP testing server?
Question
I am using xampp on Windows, but I would like to use something closer to my server setup.
Federico Cargnelutti tutorial explains how to setup LAMP VMWARE appliance; it is a great introduction to VMware appliances, but one of the commands was not working and it doesn't describe how to change the keyboard layout and the timezone.
ps: the commands are easy to find but I don't want to look for them each time I reinstall the server. I am using this question as a reminder.
Solution
This is my install scrpt, I use it on debian servers, but it will work in Ubuntu (Ubuntu is built on Debian)
apt-get -yq update
apt-get -yq upgrade
apt-get -yq install sudo
apt-get -yq install gcc
apt-get -yq install g++
apt-get -yq install make
apt-get -yq install apache2
apt-get -yq install php5
apt-get -yq install php5-curl
apt-get -yq install php5-mysql
apt-get -yq install php5-gd
apt-get -yq install mysql-common
apt-get -yq install mysql-client
apt-get -yq install mysql-server
apt-get -yq install phpmyadmin
apt-get -yq install samba
echo '[global]
workgroup = workgroup
server string = %h server
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
;invalid users = root
unix password sync = no
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
socket options = TCP_NODELAY
[homes]
comment = Home Directories
browseable = no
writable = no
create mask = 0700
directory mask = 0700
valid users = %S
[www]
comment = WWW
writable = yes
locking = no
path = /var/www
public = yes' > /etc/samba/smb.conf
(echo SAMBAPASSWORD; echo SAMBAPASSWORD) | smbpasswd -sa root
echo 'NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>' > /etc/apache2/sites-enabled/000-default
/etc/init.d/apache2 stop
/etc/init.d/samba stop
/etc/init.d/apache2 start
/etc/init.d/samba start
edit: add this to set your MySQL password
/etc/init.d/mysql stop
echo "UPDATE mysql.user SET Password=PASSWORD('MySQLPasswrod') WHERE User='root'; FLUSH PRIVILEGES;" > /root/MySQLPassword
mysqld_safe --init-file=/root/MySQLPassword &
sleep 1
/etc/init.d/mysql stop
sleep 1
/etc/init.d/mysql start
end edit
This is a bit specailised but you get the idea, if you save this to a file ('install' for example) all you have to do is:
chmod +x install
./install
Some of my apt-get commands are not necessary, because apt will automatically get the dependencies but I prefer to be specific, for my installs.
OTHER TIPS
Assuming you have VMware workstation, VMware player or anything that can run vmware appliance, you just need to:
- Download, unzip Ubuntu 8.04 Server and start the virtual machine.
- Update ubuntu and set the layout and the timezone:
sudo apt-get update sudo apt-get upgrade sudo dpkg-reconfigure console-setup sudo dpkg-reconfigure tzdata sudo vim /etc/network/interfaces
- set a fixed IP (Optional).
- install apache+mysql+php:
sudo tasksel install lamp-server
Provided this question is properly tagged, you can select LAMP server option during installation of Ubuntu. This will install and configure all required components automatically. A detailed instruction on how to do this can be found, for example, there: http://www.ubuntugeek.com/ubuntu-804-hardy-heron-lamp-server-setup.html
You can rapidly customize LAMP, RoR, Python Django, Java Stack, Spring, etc servers for Ubuntu-based VM images at http://www.elasticserver.com - Unbuntu 8.04LTS now supported.
I don't really understand your question because i really didn't see one. But i'll do my best to infer two: to change your keyboard layout, check this forum post on ubuntu forums and to change the timezone, check this forum post.