Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- boris@boris-pc:~$ mkdir -p /home/www/drupal7.dev/logs/
- boris@boris-pc:~$ mkdir -p /home/www/drupal7.dev/public_html/
- boris@boris-pc:~$ wget -c http://ftp.drupal.org/files/projects/drupal-7.12.tar.gz
- boris@boris-pc:~$ tar -xzf drupal-7.12.tar.gz
- boris@boris-pc:~$ mv -T drupal-7.12 /home/www/drupal7.dev/public_html/
- boris@boris-pc:~$ sudo su
- [sudo] password for boris:
- root@boris-pc:/home/boris# echo '127.0.0.1 www.drupal7.dev drupal7.dev' >> /etc/hosts
- root@boris-pc:/home/boris# exit
- exit
- boris@boris-pc:~$ ping www.drupal7.dev
- PING www.drupal7.dev (127.0.0.1) 56(84) bytes of data.
- 64 bytes from www.drupal7.dev (127.0.0.1): icmp_req=1 ttl=64 time=0.029 ms
- 64 bytes from www.drupal7.dev (127.0.0.1): icmp_req=2 ttl=64 time=0.025 ms
- 64 bytes from www.drupal7.dev (127.0.0.1): icmp_req=3 ttl=64 time=0.026 ms
- 64 bytes from www.drupal7.dev (127.0.0.1): icmp_req=4 ttl=64 time=0.026 ms
- ^C
- --- www.drupal7.dev ping statistics ---
- 4 packets transmitted, 4 received, 0% packet loss, time 2997ms
- rtt min/avg/max/mdev = 0.025/0.026/0.029/0.005 ms
- boris@boris-pc:~$ cd /etc/apache2/sites-available/
- boris@boris-pc:/etc/apache2/sites-available$ vim drupal7.dev
- ...
- boris@boris-pc:/etc/apache2/sites-available$ cat drupal7.dev
- # $Id: drupal7.dev,v 1.1 2012/02/23 12:14:18 root Exp $
- <VirtualHost 127.0.0.1:80>
- ServerName drupal7.dev
- ServerAlias www.drupal7.dev
- #ServerAdmin webmaster@localhost
- DocumentRoot "/home/www/drupal7.dev/public_html"
- <Directory "/home/www/drupal7.dev/public_html">
- Options None
- AllowOverride All
- Order allow,deny
- Allow from all
- </Directory>
- ErrorLog "|/usr/sbin/rotatelogs -l /home/www/drupal7.dev/logs/errorlog-%Y.%m.%d 86400"
- CustomLog "|/usr/sbin/rotatelogs -l /home/www/drupal7.dev/logs/accesslog-%Y.%m.%d 86400" common
- </VirtualHost>
- boris@boris-pc:/etc/apache2/sites-available$ cat ../ports.conf
- # $Id: ports.conf,v 1.2 2012/01/21 09:04:44 root Exp $
- # If you just change the port or add more ports here, you will likely also
- # have to change the VirtualHost statement in
- # /etc/apache2/sites-enabled/000-default
- # This is also true if you have upgraded from before 2.2.9-3 (i.e. from
- # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
- # README.Debian.gz
- /home/www/drupal7.dev/public_html/sites/default/default.settings.php
- NameVirtualHost 127.0.0.1:80
- Listen 127.0.0.1:80
- <IfModule mod_ssl.c>
- # If you add NameVirtualHost *:443 here, you will also have to change
- # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
- # to <VirtualHost *:443>
- # Server Name Indication for SSL named virtual hosts is currently not
- # supported by MSIE on Windows XP.
- Listen 127.0.0.1:443
- </IfModule>
- <IfModule mod_gnutls.c>
- Listen 127.0.0.1:443
- </IfModule>
- boris@boris-pc:/etc/apache2/sites-available$ cat ../conf.d/security
- # $Id: security,v 1.2 2012/01/21 08:56:54 root Exp $
- #
- # Disable access to the entire file system except for the directories that
- # are explicitly allowed later.
- #
- # This currently breaks the configurations that come with some web application
- # Debian packages.
- #
- <Directory />
- Options None
- AllowOverride None
- Order Deny,Allow
- Deny from all
- </Directory>
- # Changing the following options will not really affect the security of the
- # server, but might make attacks slightly more difficult in some cases.
- #
- # ServerTokens
- # This directive configures what you return as the Server HTTP response
- # Header. The default is 'Full' which sends information about the OS-Type
- # and compiled in modules.
- # Set to one of: Full | OS | Minimal | Minor | Major | Prod
- # where Full conveys the most information, and Prod the least.
- #
- #ServerTokens Minimal
- #ServerTokens OS
- #ServerTokens Full
- ServerTokens Prod
- #
- # Optionally add a line containing the server version and virtual host
- # name to server-generated pages (internal error documents, FTP directory
- # listings, mod_status and mod_info output etc., but not CGI generated
- # documents or custom error documents).
- # Set to "EMail" to also include a mailto: link to the ServerAdmin.
- # Set to one of: On | Off | EMail
- #
- ServerSignature Off
- #
- # Allow TRACE method
- #
- # Set to "extended" to also reflect the request body (only for testing and
- # diagnostic purposes).
- #
- # Set to one of: On | Off | extended
- #
- TraceEnable Off
- #TraceEnable On
- boris@boris-pc:/etc/apache2/sites-available$ sudo a2ensite drupal7.dev
- Enabling site drupal7.dev.
- To activate the new configuration, you need to run:
- service apache2 reload
- boris@boris-pc:/etc/apache2/sites-available$ sudo service apache2 reload
- * Reloading web server config apache2
- boris@boris-pc:/etc$ mysql -u root -p
- Enter password:
- Welcome to the MariaDB monitor. Commands end with ; or \g.
- Your MariaDB connection id is 7
- Server version: 5.2.10-MariaDB-mariadb107~oneiric-log (MariaDB - http://mariadb.com/)
- This software comes with ABSOLUTELY NO WARRANTY. This is free software,
- and you are welcome to modify and redistribute it under the GPL v2 license
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- MariaDB [(none)]> CREATE DATABASE drupal7_dev;
- Query OK, 1 row affected (0.05 sec)
- MariaDB [(none)]> USE mysql;
- Reading table information for completion of table and column names
- You can turn off this feature to get a quicker startup with -A
- Database changed
- MariaDB [mysql]> GRANT ALL PRIVILEGES ON drupal7_dev.* TO drupal7_dev@localhost IDENTIFIED BY 'V!J0"84SA4+##xP!';
- Query OK, 0 rows affected (0.06 sec)
- MariaDB [mysql]> \q
- Bye
- boris@boris-pc:/etc$ cp /home/www/drupal7.dev/public_html/sites/default/default.settings.php /home/www/drupal7.dev/public_html/sites/default/settings.php
- boris@boris-pc:/etc$ chmod a+w /home/www/drupal7.dev/public_html/sites/default/settings.php
- boris@boris-pc:/etc$ mkdir /home/www/drupal7.dev/public_html/sites/default/files
- boris@boris-pc:/etc$ chmod a+rwX /home/www/drupal7.dev/public_html/sites/default/files
- ...
- boris@boris-pc:~$ cat /home/www/drupal7.dev/public_html/.htaccess
- #
- # Apache/PHP/Drupal settings:
- #
- # Protect files and directories from prying eyes.
- <FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$">
- Order allow,deny
- </FilesMatch>
- # Don't show directory listings for URLs which map to a directory.
- Options -Indexes
- # Follow symbolic links in this directory.
- Options +FollowSymLinks
- # Make Drupal handle any 404 errors.
- ErrorDocument 404 /index.php
- # Set the default handler.
- DirectoryIndex index.php index.html index.htm
- # Override PHP settings that cannot be changed at runtime. See
- # sites/default/default.settings.php and drupal_initialize_variables() in
- # includes/bootstrap.inc for settings that can be changed at runtime.
- # PHP 5, Apache 1 and 2.
- <IfModule mod_php5.c>
- php_flag magic_quotes_gpc off
- php_flag magic_quotes_sybase off
- php_flag register_globals off
- php_flag session.auto_start off
- php_value mbstring.http_input pass
- php_value mbstring.http_output pass
- php_flag mbstring.encoding_translation off
- </IfModule>
- # Requires mod_expires to be enabled.
- <IfModule mod_expires.c>
- # Enable expirations.
- ExpiresActive On
- # Cache all files for 2 weeks after access (A).
- ExpiresDefault A1209600
- <FilesMatch \.php$>
- # Do not allow PHP scripts to be cached unless they explicitly send cache
- # headers themselves. Otherwise all scripts would have to overwrite the
- # headers set by mod_expires if they want another caching behavior. This may
- # fail if an error occurs early in the bootstrap process, and it may cause
- # problems if a non-Drupal PHP file is installed in a subdirectory.
- ExpiresActive Off
- </FilesMatch>
- </IfModule>
- # Various rewrite rules.
- <IfModule mod_rewrite.c>
- RewriteEngine on
- # Block access to "hidden" directories whose names begin with a period. This
- # includes directories used by version control systems such as Subversion or
- # Git to store control files. Files whose names begin with a period, as well
- # as the control files used by CVS, are protected by the FilesMatch directive
- # above.
- #
- # NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is
- # not possible to block access to entire directories from .htaccess, because
- # <DirectoryMatch> is not allowed here.
- #
- # If you do not have mod_rewrite installed, you should remove these
- # directories from your webroot or otherwise protect them from being
- # downloaded.
- RewriteRule "(^|/)\." - [F]
- # If your site can be accessed both with and without the 'www.' prefix, you
- # can use one of the following settings to redirect users to your preferred
- # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
- #
- # To redirect all users to access the site WITH the 'www.' prefix,
- # (http://example.com/... will be redirected to http://www.example.com/...)
- # uncomment the following:
- # RewriteCond %{HTTP_HOST} !^www\. [NC]
- # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- #
- # To redirect all users to access the site WITHOUT the 'www.' prefix,
- # (http://www.example.com/... will be redirected to http://example.com/...)
- # uncomment the following:
- # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
- # RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
- # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
- # VirtualDocumentRoot and the rewrite rules are not working properly.
- # For example if your site is at http://example.com/drupal uncomment and
- # modify the following line:
- # RewriteBase /drupal
- #
- # If your site is running in a VirtualDocumentRoot at http://example.com/,
- # uncomment the following line:
- # RewriteBase /
- # Pass all requests not referring directly to files in the filesystem to
- # index.php. Clean URLs are handled in drupal_environment_initialize().
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_URI} !=/favicon.ico
- RewriteRule ^ index.php [L]
- # Rules to correctly serve gzip compressed CSS and JS files.
- # Requires both mod_rewrite and mod_headers to be enabled.
- <IfModule mod_headers.c>
- # Serve gzip compressed CSS files if they exist and the client accepts gzip.
- RewriteCond %{HTTP:Accept-encoding} gzip
- RewriteCond %{REQUEST_FILENAME}\.gz -s
- RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
- # Serve gzip compressed JS files if they exist and the client accepts gzip.
- RewriteCond %{HTTP:Accept-encoding} gzip
- RewriteCond %{REQUEST_FILENAME}\.gz -s
- RewriteRule ^(.*)\.js $1\.js\.gz [QSA]
- # Serve correct content types, and prevent mod_deflate double gzip.
- RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
- RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
- <FilesMatch "(\.js\.gz|\.css\.gz)$">
- # Serve correct encoding type.
- Header set Content-Encoding gzip
- # Force proxies to cache gzipped & non-gzipped css/js files separately.
- Header append Vary Accept-Encoding
- </FilesMatch>
- </IfModule>
- </IfModule>
Advertisement
Add Comment
Please, Sign In to add comment