Jump to content

Search the Community

Showing results for tags 'apache'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Welcome to ProcessWire
    • News & Announcements
    • Showcase
    • Wishlist & Roadmap
  • Community Support
    • Getting Started
    • Tutorials
    • FAQs
    • General Support
    • API & Templates
    • Modules/Plugins
    • Themes and Profiles
    • Multi-Language Support
    • Security
    • Jobs
  • Off Topic
    • Pub
    • Dev Talk

Product Groups

  • Form Builder
  • ProFields
  • ProCache
  • ProMailer
  • ProDrafts
  • ListerPro
  • ProDevTools
  • Likes
  • Custom Development


There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







Found 12 results

  1. Has anyone successfully installed Processwire on an Amazon EC2 instance/virtual server? Which configuration works; Amazon Linux or one of the other flavors? How do you get file permissions and the database working? Which lines in .htaccess cause problems on Amazon AWS? What are the pitfalls to watch out for? Why can't I get it working...? The first problem I run into is an error message that the installer doesn't have write access and that I should manually rename the 'site-myprofile' folder to 'site'. Attempt to chmod all the files and folders to 777 don't seem to have any effect on that and some files do get written fine. But I keep ending up with inaccessable pages and fatal server errors. I am not asking you to solve my problem. I am curious what other people's experiences are with this. Can it be done or am I wasting my time?
  2. Docker (http://www.docker.com) is an open platform for building, shipping and running distributed applications. Docker containers are a great way to package a complete application with its specific dependencies in a portable way so that it can easily be deployed on any compatible network or cloud infrastructure. Recently I spent a few days making my ProcessWire site run in a Docker container, and - as I could not find any good tutorial for this - it sounded like a good idea to write one. You will find on the web plenty of presentations and tutorials about Docker, so I won't start with the basic concepts, and this tuto assumes that you have a first understanding of Docker's fundamentals. What we want to do here is to migrate an existing site to a set of docker containers. Therefore, to start with, you should have: - docker installed on your computer; - the site directory of your ProcessWIre site - a backup of your site's MySQL database Let's start. Create a docker container for the site database For several reasons (insulation, security, scalability), it is preferable to host the site database in a separate docker container. 1. Set-up a SQL database with MariaDb or MySQL $ docker run --name database -e MYSQL_ROOT_PASSWORD=rootdbpassword -d mariadb Here I choose to use the MariaDB official container in its latest version, but MySQLwould be just fine as well. 2. Run a PhpMyAdmin container and create the ProcessWire database We first select an simple image with PhpMyAdmin on the Docker Hub: nazarpc/phpmyadmin and we create a docker container based on this image. This container will access the port exposed by the database container via a private networking interface. We specify this with the `--link` option. It can be run temporarily (and exited by ctrl-C): docker run --rm --link database:mysql -p 8881:80 nazarpc/phpmyadmin Or it can be run as a daemon in the background: docker run -d --name phpmyadmin --link database:mysql -p 8881:80 nazarpc/phpmyadmin From phpmyadmin (accessed from your browser at http://hostaddress:8881) you can now create your ProcessWire database, create a dedicated user for it, and import the database content from a previously saved SQL file. Note: alternatively, you can do all database operations from the command line in the database docker container created during step 1, or use another mysql user interface container if you prefer… 3. Update the database parameters in your site configuration In your site's `config.php` file, the sql server name shall be set to `mysql`: $config->dbHost = 'mysql'; Other `$config->dbXxx` settings shall match the database name, user and password of the just-created database. Create a Docker Image for Apache, PHP and the Processwire site 1. Create an image-specific directory with the following contents and `cd` to it bash-3.2$ ls -l . config .: total 16 -rw-rw-rw- 1 jean-luc staff 1163 21 aoû 12:09 Dockerfile drwxr-xr-x 17 jean-luc staff 578 17 aoû 12:48 ProcessWire drwxr-xr-x 7 jean-luc staff 238 21 aoû 12:07 config drwxr-xr-x 7 jean-luc staff 238 20 aoû 18:46 site config: total 160 -rw-rw-rw- 1 jean-luc staff 160 20 aoû 18:28 msmtprc -rw-rw-rw- 1 jean-luc staff 72518 20 aoû 18:56 php.ini where: `ProcessWire` contains the version of ProcessWire that we want to use for this site; It can be retrieved from github with a link like https://github.com/ryancramerdesign/ProcessWire/archive/{version}.zip` For example, the 2.6.13 dev version can be obtained by the link https://github.com/ryancramerdesign/ProcessWire/archive/7d37db8d6b4ca6a132e50aff496a70e48fcd2284.zip `site`: our site-specific files `Dockerfile`: the dockerfile for building the image (see below) `config`: a directory containing specific configuration files copied to the docker image (see below) 2. Set the `Dockerfile` content FROM php:5.6-apache RUN apt-get update \ && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev zziplib-bin msmtp\ && a2enmod rewrite \ && a2enmod ssl \ && docker-php-ext-install mysqli pdo_mysql iconv mcrypt zip \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install gd EXPOSE 80 EXPOSE 443 # Add a specific php.ini file COPY config/php.ini /usr/local/etc/php/ # Configure the mail sent utility msmtp (http://msmtp.sourceforge.net) and make it readable only by www-data COPY config/msmtprc /usr/local/etc/php/ RUN chmod 600 /usr/local/etc/php/msmtprc \ && chown www-data:www-data /usr/local/etc/php/msmtprc # Remove all default site files in /var/www/html RUN rm -fR /var/www/html/* # Copy ProcessWire core files COPY ProcessWire/wire /var/www/html/wire COPY ProcessWire/index.php /var/www/html/index.php COPY ProcessWire/htaccess.txt /var/www/html/.htaccess # Copy site-specific files COPY site /var/www/html/site # Make www-data the owner of site-specific files RUN chown -R www-data:www-data /var/www/html/site VOLUME /var/www/html/site Based on the official image `php:5.6-apache`, it installs missing packages to the system, adds mod-rewrite and mod-ssl to Apache, plus a number of PHP modules needed by Processwire (core or modules): mysqli, pdo_mysql, iconv, mcrypt, zip, and gd. Then it copies the site files to the location expected by the Apache server. Finally it declares a Docker volume `/var/www/html/site` (i.e. the site files and assets), so that it can be shared with other containers. 3. Set the msmtp configuration We need to configure a sendmail utility, so that we can send emails from php, for example when a user registers on the website. The simplest way to do it is to rely on an external smtp server to do the actual sending. That's why we use msmtp. - define the desired smtp account in `config/msmtprc` account celedev-webmaster tls on tls_certcheck off auth on host smtp.celedev.com port 587 user webmaster@celedev.com from webmaster@celedev.com password thepasswordofwebmasteratceledevdotcom - in `config/php.ini`, configure the sendmail command so it uses msmtp: sendmail_path = /usr/bin/msmtp -C /usr/local/etc/php/msmtprc --logfile /var/log/msmtp.log -a celedev-webmaster -t 4. Build the Docker image docker build -t php-5.6-pw-celedev . 5. Create a Data-only container for the site files docker run --name celedev-data php-5.6-pw-celedev echo "Celedev site data-only container" 6. Run the web server container docker run --name celedev-site -p 8088:80 --link database:mysql --volumes-from celedev-data -d php-5.6-pw-celedev Note that this container is linked to our database and shares the 'celedev-data' volume created previously During development, it can be convenient to keep an access to the host file system from the container. For this, we can add a shared volume to the previous command: docker run --name celedev-site -p 8088:80 --link database:mysql -v /Users/jean-luc/web/test-docker:/hostdir --volumes-from celedev-data -d php-5.6-pw-celedev Our ProcessWire website is now up and running and we can test it in our browser at http://hostaddress:8088. Great! What we now have in Docker bash-3.2$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE php-5.6-pw-celedev latest 2aaeb241c2e2 3 hours ago 1.149 GB nazarpc/phpmyadmin latest e25cd4fd48b3 8 days ago 521 MB mariadb latest dd208bafcc33 2 weeks ago 302.2 MB debian latest 9a61b6b1315e 5 weeks ago 125.2 MB bash-3.2$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 68cc5d976f0d php-5.6-pw-celedev "apache2-foreground" 20 hours ago Up 20 hours 443/tcp,>80/tcp celedev-site 0729fe6d6752 php-5.6-pw-celedev "echo 'Celedev site d" 20 hours ago Exited (0) 20 hours ago celedev-data e3e9e3a4715c mariadb "/docker-entrypoint.s" 3 days ago Up 3 days 3306/tcp database Saving the site data We can create an archive of the site files by running a tar command in a dedicated container: bash-3.2$ docker run --rm -it --volumes-from celedev-data -v /Users/jean-luc/web/test-docker:/hostdir debian /bin/bash root@2973c5af3eaf:/# cd /var/www/html/ root@2973c5af3eaf:/var/www/html# tar cvf /hostdir/backup.tar site root@2973c5af3eaf:exit bash-3.2$ Tagging and archiving the Docker image We can also add a tag to the docker image that we have created in step 4 (recommended): bash-3.2$ docker tag 2aaeb241c2e2 php-5.6-pw-celedev:0.11 bash-3.2$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE php-5.6-pw-celedev latest 2aaeb241c2e2 3 hours ago 1.149 GB php-5.6-pw-celedev 0.11 2aaeb241c2e2 3 hours ago 1.149 GB nazarpc/phpmyadmin latest e25cd4fd48b3 8 days ago 521 MB mariadb latest dd208bafcc33 2 weeks ago 302.2 MB And we can archive this image locally if we dont want to push it now to the Docker Hub: bash-3.2$ docker save php-5.6-pw-celedev:0.11 | gzip > php-5.6-pw-celedev-0.11.tar.gz And that's it! You now have a portable image of your ProcessWire website that you can run directly on any docker-compatible system.
  3. I have web hosting with the following .htaccess en root, to point it to a subdirectory "audino.us", wherein I have PW installed: RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?something.com$ RewriteCond %{REQUEST_URI} !^/something.com/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /audino.us/$1 RewriteCond %{HTTP_HOST} ^(www.)?something.com$ RewriteRule ^(/)?$ something.com/index.php [L] RewriteCond %{HTTP_HOST} ^(www.)?something.com$ RewriteRule ^(/)?$ something.com [L] However when I go to audino.us/pw to access the admin, it becomes audino.us/audino.us/pw, and doesn't allow me to log in. How do I render the above to be recursive (?), i.e., to apply to all subordinate URLs? Is this to be done within the .htaccess in /audino.us, or in the root .htaccess above? Please help, I can't log in. Thanks much.
  4. 777 seems excessive - is there something that I'm missing here? This is a print out of the /site content; ``` total 28 drwxrwxr-x 6 geot geot 4096 Sep 9 13:30 . drwxrwxr-x 8 geot geot 4096 Sep 9 13:17 .. drwxrwxr-x 2 geot geot 4096 Sep 6 10:10 assets -rwxrwxrwx 1 geot geot 1548 Sep 6 10:10 config.php drwxrwxr-x 3 geot geot 4096 Sep 6 10:10 install drwxrwxr-x 2 geot geot 4096 Sep 6 10:10 modules drwxrwxr-x 5 geot geot 4096 Sep 6 10:10 templates ``` I'm sure that I shouldn't have to have permissions so high, but I'm pretty new to this. Here's a shot of the setup that I'm currently going through; http://imgur.com/a/WkhAX You can see that the error (for site/config.php) is no longer there with these permissions, but they still 'feel' wrong. Thanks
  5. Hi Forum, we moved an installation from the live server to localhost for further development. Unfortunately now PW doesn't find files in the /templates/ directory anymore (e.g. css, js and so on). Functions testing for existing files abort with an error and the console throws 404 for the files in question. Two developers have checked (so far several times): site/config.php $config->httpHosts .htaccess file permissions on /templates/ and all subdirectories (set to 777 just to be on the safe side) our own php functions Our version is 3.0.22 devns. We are running out of ideas. Any help is appreciated. Thanks.
  6. I have been pulling my hair out for over a week now and frankly can not study anymore because I am exhausted and on the verge of throwing in the towel. I have switched to a Linux dev enviroment recently (Manjaro which is Arch based) and love everything about it. It's another story why I made the switch from Windows but I can tell you that I have never experienced trouble before because I was using Wamp and everything just seemed to work out the box. With setting up Apache myself on this particular Linux distro, things are a "whole lot different". So here goes: I got virtual hosts working with Apache 2.4.10 and everything is fine; PHP 5.6 works, my /etc/hosts files are pointing correctly and all that good stuff. I believe I have enabled all the required modules which Processwire needs (and then-some) : Mod_Rewrite being the most important. However, when I download my Production files (live server) onto my Development machine, it doesn't go as smooth as the WAMP days I have narrowed it down to something which must not be configured correctly for .htaccess to take affect. Again, this really is my first attempt (although been at it for over a week) to get a LAMP stack installed so it's probably something I am not understanding or doing right. Btw, MySQL (MariaDB) is working correctly and all the databases have been imported from my Production .sql file. Here is my virtual host file: Maybe something in here isn't correct. <VirtualHost *:80> DocumentRoot /srv/http/site2.dev ServerName dev.site2.com ErrorLog /var/log/httpd/site2_log <Directory /srv/http/site2.dev> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> The .htaccess directives are for Processwire 2.3. I have never had to touch them before, but I tried commenting / un-commenting almost everything which has been reccomend thus far and nothing has worked This 500 Internal Server Error will not leave me! Thanks so much for any help / tips you can provide. Thank You
  7. I've reinstalled wamp,upgrading from 2.2 to 2.5 in the process, and now I can't get past the home page on any processwire site on localhost - including the basic skyscraper site. That includes getting to the admin site with localhost:81/myprocesswire/processwire. Any page other than the home page returns me to the wampserver home page, with the url of the desired page in the address bar of the browser ie http://localhost:81/process_skyscraper/cities/ displays the wamp home page. Apache is working fine for other sites (eg joomla). The difference seems to be the trailing slash at the end of the url. Some googling came up with WAMPServer 2.5 The Homepage, Your Projects Menu and the need for Virtual Hosts , and I followed the advice on that site to setup a virtual host for a processwire site. It also seems to me to be a relatively complex process - (1) editing httpd-hosts.conf (2) running notepad as administrator to edit C:\windows\system32\drivers\etc\hosts (3) running command prompt as administrator to restart dnscache . It doesn't seem to have made any difference. I tried DocumentRoot with and without the trailing slash in the VirtualHost settings. My virtual host definition looks like this. <VirtualHost *:81> DocumentRoot "c:/wamp/www/process_skyscraper/" ServerName localhost ServerAlias localhost <Directory "c:/wamp/www/process_skyscraper"> AllowOverride All Require local </Directory> </VirtualHost> My gut feeling is that probably none of this is necessary, and I'm looking in the wrong place of a solution. Are all new users of processwire really going through these steps just to get it going? Any thoughts on what I'm missing?
  8. Hi, I've just set up my AMP stack on my own rather than using MAMP and such, this is not as easy as I thought. Some obstacles I've overcome already but now this is biting me when trying to access a PW installation: Request exceeded the limit of 10 internal redirects due to probable configuration error. I've researched a bit but did not come to any conclusion other that it has to do something with rewrites. httpd.conf <Directory "/my-web-root/"> Options -Indexes +FollowSymLinks AllowOverride All DirectoryIndex index.php index.html Order allow,deny Allow from all </Directory> httpd-vhosts.conf example I am actually using dnsmasq to map my domains to directories like so: <VirtualHost *:80> VirtualDocumentRoot "/my-web-root/%1" ServerAlias *.dev UseCanonicalName Off </VirtualHost> But using this standard approach has the same issues: <VirtualHost *:80> VirtualDocumentRoot "/my-web-root/some-client" ServerName some-client.dev ServerAlias *.dev UseCanonicalName Off </VirtualHost> Any suggestions? Thanks!
  9. Is anyone tried using nginx as frontend proxy to serve static content and apache as backend. I am having trouble in image upload path as now upload folders are created with hyphens in start so getting not found error. Any sample conf file for frontend proxy I have seen conf file when nginx used alone but that not helping
  10. Hi all, is there a difference between the mod_rewrite module of Apache and $_SERVER['REDIRECT_HTTP_MOD_REWRITE'] or $_ENV['REDIRECT_HTTP_MOD_REWRITE']? Processwire fails to detect mod_rewrite, but $_SERVER/$_ENV['REDIRECT_HTTP_MOD_REWRITE'] is "on". Does it have to do with Apache running as FastCGI? I'm totally stuck here, because every other system using rewrites works fine on the machine, only Processwire fails. From phpinfo(): $_ENV["REDIRECT_HTTP_MOD_REWRITE"] On $_SERVER["REDIRECT_HTTP_MOD_REWRITE"] On Thanks for any hint! Thomas
  11. Hi guys just moved from 34sp servers to lcn.com ones and as always something had to go wrong... transferred the db and files and linked up, everything worked until I tried logining in - I can't, no errors on the front end. I was also having trouble uploding images on some of my other sites So im guessing its a permissions issue just wondering what it might be, whether i just need to do something on .htacess or whether my hosting providerings can help. I hate sys admin Please any help would be great, Ben
  12. Hi, I am trying to install processwire in a subfolder, getting the following messages on the install page: Unable to determine if Apache mod_rewrite (required by ProcessWire) is installed. On some servers, we may not be able to detect it until your .htaccess file is place. Please click the 'check again' button at the bottom of this screen, if you haven't already. Unable to determine server software. It may be okay to continue, but note that ProcessWire is only developed for Apache at present. The web host has changed the server from Zeus to Litespeed but i still get the same messages. Have had a look around the forums and a few mentions of ammending the .htaccess file but I don't really know my way around that area. Alex
  • Create New...