One place for hosting & domains

      How to Create a Website for Your Event (In 4 Steps)


      Planning events can be both fun and strenuous. Whether you’re working on the fundraiser of the year, a huge wedding, or an academic conference, you might be wondering how you can create an appealing online presence for the upcoming event.

      Fortunately, creating an event website using WordPress can be fast and easy. As an open-source Content Management System (CMS), WordPress has a ton of built-in flexibility. Additionally, the platform has a vast community of helpful users and developers that you can reach out to for help.

      In this article, we’re going to discuss why WordPress is a smart choice for your event website. Then we’ll walk you through all the steps needed to create your own event website using WordPress. Let’s jump right in!

      Why You Should Consider a WordPress Site for Your Event

      There are many reasons WordPress is an excellent platform for building an event website. For example, it offers both ease of editing and a high level of flexibility. Plus, the platform is always free to download.

      What’s more, since WordPress is built using open-source code, developers all over the world have added onto the platform’s core functionality with plugins. This means there are many options for enhancing your site with event-specific, niche plugins that can help you easily track, promote, and share your event in order to boost registrations.

      Another benefit to building with this CMS is that it doesn’t matter how big or how small your event might be — WordPress always fits like a glove! Fortunately, building your event website using WordPress doesn’t have to be difficult at all.

      WordPress + DreamHost

      Our automatic updates and strong security defenses take server management off your hands so you can focus on building a great event website.

      How to Create a WordPress Site for Your Event (In 4 Steps)

      To get started with your WordPress event site, all you need to do is follow these four steps. Each will help you get up and running as quickly as possible, so you can move on to planning and hosting the event itself.

      1. Choose a Secure and Professional Hosting Platform

      While the WordPress software is free, you’ll still need to host your site somewhere. Choosing a web host can seem overwhelming at first, but it’s an essential first step in getting your event site started.

      A web host is where all of your site’s data is stored, along with the files that create the functionality you’ll need to manage your event. There are a few things to consider when choosing your host since there are lots of options out there.

      You’ll want to make sure the host you choose has the support you might need for certain types of events. You may need to accommodate a live stream, for example, or your event might require higher bandwidth for heavy registration traffic.

      Here at DreamHost, we have several Virtual Private Server (VPS) options that can suit a wide variety of event planning needs.

      DreamHost VPS pricing.

      We recommend really getting a feel for all the different types of hosting out there. That way, you can make sure your event website is stored in the most secure, high-performance location possible.

      2. Select a Theme to Suit Your Event

      Once you’ve installed WordPress on your hosting plan, you can move on to some of the more exciting parts of building a website!

      Choosing a theme can be a lot of fun, and it’s also a vital step. That’s especially true if you are looking to create a cohesive brand or send out a certain “vibe” about your event.

      There are two main ways you can obtain WordPress themes, including:

      • Downloading free themes from the WordPress Theme Directory
      • Purchasing premium themes from a theme marketplace or directly from a developer

      Themes often come with built-in functionality or features that you’ll want to understand before installing them. If you know you need a certain kind of layout, footer, or sidebar, for example, you’ll want to make sure the theme you pick can handle that type of design.

      Some of the free themes available in the directory are nearly as packed with features as premium themes that come with a price tag. Reading their reviews and checking to see when each theme was last updated are smart ways to decide which is best for your site.

      Of course, it’s also important to remember that sometimes niche themes can be more helpful than general, all-purpose themes. For example, ShowThemes offers event-specific WordPress themes and lets you search its database by feature set so you can find exactly what you’re looking for.

      The ShowThemes home page.

      ShowThemes covers the full spectrum of possible events you might want to promote. For instance, if you just need a one-page site for a conference, the Fudge theme is a solid option. Not only is it already optimized for mobile devices, but it also has a clear and easy-to-customize design for your Call-to-Action.

      The Fudge theme.

      Starting with a theme designed for the type of event you’re promoting can save you a lot of time, so it’s well worth considering.

      3. Add Event and E-Commerce Plugins to Manage Registration

      There are a few more universal aspects of event planning to keep in mind while building your WordPress event site. Typically, events require some kind of registration process, guest list, or check-in management (just to name a few examples).

      Whether or not your event is free-of-charge or requires payment, adding event and e-commerce plugins to your site can be extremely helpful. There are a number of ways to build in the functionality you’ll need to handle ticket sales or registrations.

      Event Espresso, for instance, is an all-in-one plugin solution that covers everything from setting up a registration form to using payment gateways.

      The Event Espresso plugin.

      While the free version provides plenty of functionality, you can purchase Event Espresso’s premium tier if you’re interested in add-on features such as printable tickets, ticket scanning, and waitlists.

      If you need a plugin that specializes in managing a guest list and registration data, on the other hand, you might want to check out the RSVP and Event Management plugin.

      The RSVP and Event Management plugin.

      Additionally, you can maximize WordPress’ flexibility by using plugins that make it possible to connect to outside event software, such as EventBrite, to help you manage your event. While this method requires you to have an account with the platform, it’s still an excellent option if you have specific event management applications you know and love.

      4. Promote Your Event on Social Media

      Once you’ve built your event site, you’ll likely want to start getting the word out and encouraging registrations. It’s no secret that social media is probably the best way to share your event with your target audience, as widely or as privately as you want.

      One of the most straightforward ways to promote your event on social media is to let your website visitors do it for you, through adding social sharing buttons to your website. You can add on a plugin like Sassy Social Share, for example, and choose from over 100 social media and bookmarking site buttons to add to your site.

      The Sassy Social Share plugin.

      If you want to take things a step further, and proactively push your event content and site updates to a variety of social media sites, you can check out the free plugin Blog2Social. This tool gives you the option to set up automatic posts from your website to 14 different social networks.

      The Blog2Social plugin.

      With Blog2Social, you can also cross-post content, schedule updates, and automatically post new content. Additionally, you can customize your posts with comments and hashtags, for even more engagement and appeal.

      You can even enable guests to register for your event via their existing social media accounts. Adding the Social Login plugin to your event site makes that simple.

      The Social Login plugin.

      Whether you’re looking to push content to social media accounts, or pull in guests and registrations via social channels, adding some of these helpful plugins to your event site can help you stand out from the pack and attract attention.

      Easy Event Marketing

      If you’ve been worried about how to get your event website off the ground, while also planning for all your other event-related needs, we hope this step-by-step guide has helped to ease your burden a bit. WordPress can help you get your site up and running quickly, which leaves you plenty of time to focus on all the other details that make for a great event.

      Here at DreamHost, WordPress is always invited to the party. Check out our WordPress hosting plans and get your event website online today!



      Source link

      How To Configure Apache HTTP with MPM Event and PHP-FPM on FreeBSD 12.0


      The author selected the Open Internet/Free Speech Fund to receive a donation as part of the Write for DOnations program.

      Introduction

      The Apache HTTP web server has evolved through the years to work in different environments and solve different needs. One important problem Apache HTTP has to solve, like any web server, is how to handle different processes to serve an http protocol request. This involves opening a socket, processing the request, keeping the connection open for a certain period, handling new events occurring through that connection, and returning the content produced by a program made in a particular language (such as PHP, Perl, or Python). These tasks are performed and controlled by a Multi-Processing Module (MPM).

      Apache HTTP comes with three different MPM:

      • Pre-fork: A new process is created for each incoming connection reaching the server. Each process is isolated from the others, so no memory is shared between them, even if they are performing identical calls at some point in their execution. This is a safe way to run applications linked to libraries that do not support threading—typically older applications or libraries.
      • Worker: A parent process is responsible for launching a pool of child processes, some of which are listening for new incoming connections, and others are serving the requested content. Each process is threaded (a single thread can handle one connection) so one process can handle several requests concurrently. This method of treating connections encourages better resource utilization, while still maintaining stability. This is a result of the pool of available processes, which often has free available threads ready to immediately serve new connections.
      • Event: Based on worker, this MPM goes one step further by optimizing how the parent process schedules tasks to the child processes and the threads associated to those. A connection stays open for 5 seconds by default and closes if no new event happens; this is the keep-alive directive default value, which retains the thread associated to it. The Event MPM enables the process to manage threads so that some threads are free to handle new incoming connections while others are kept bound to the live connections. Allowing re-distribution of assigned tasks to threads will make for better resource utilization and performance.

      The MPM Event module is a fast multi-processing module available on the Apache HTTP web server.

      PHP-FPM is the FastCGI Process Manager for PHP. The FastCGI protocol is based on the Common Gateway Interface (CGI), a protocol that sits between applications and web servers like Apache HTTP. This allows developers to write applications separately from the behavior of web servers. Programs run their processes independently and pass their product to the web server through this protocol. Each new connection in need of processing by an application will create a new process.

      By combining the MPM Event in Apache HTTP with the PHP FastCGI Process Manager (PHP-FPM) a website can load faster and handle more concurrent connections while using fewer resources.

      In this tutorial you will improve the performance of the FAMP stack by changing the default multi-processing module from pre-fork to event and by using the PHP-FPM process manager to handle PHP code instead of the classic mod_php in Apache HTTP.

      Prerequisites

      Before you begin this guide you’ll need the following:

      • A FreeBSD 12.0 server set up following this guide.
      • The FAMP stack installed on your server following this tutorial.
      • Access to a user with root privileges (or allowed by using sudo) in order to make configuration changes.

      Step 1 — Changing the Multi-Processing Module

      You’ll begin by looking for the pre-fork directive in the httpd.conf file. This is the main configuration file for Apache HTTP in which you can enable and disable modules. You can edit and set directives such as the listening port where Apache HTTP will serve content or the location of the content to display in this file.

      To make these changes, you’ll use the nl, number line, program, with the -ba flag to count and number lines so that nothing is mismatched at a later stage. Combined with grep this command will first count all the lines in the file specified in the path, and once finished, it will search for the string of characters you’re looking for.

      Run the following command so that the nl program will process and number the lines in httpd.conf. Then, grep will process the output by searching for the given string of characters 'mod_mpm_prefork':

      • nl -ba /usr/local/etc/apache24/httpd.conf | grep 'mod_mpm_prefork'

      As output you’ll see something similar to:

      Output

      67 LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so

      Let’s edit line 67 with your text editor. In this tutorial, you’ll use vi, which is the default editor on FreeBSD:

      • sudo vi +67 /usr/local/etc/apache24/httpd.conf

      Append a # symbol at the beginning of the line so this line is commented out, like so:

      /usr/local/etc/apache24/httpd.conf

      ...
      # LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so
      ...
      

      By appending the # symbol you’ve disabled the pre-fork MPM module.

      Now you’ll find the event directive in the same httpd.conf file.

      • nl -ba /usr/local/etc/apache24/httpd.conf | grep mpm_event

      You’ll see output similar to the following:

      Output

      ... 66 #LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so ...

      Now you’ll remove the # symbol in line 66 to enable the Event MPM:

      • sudo vi +66 /usr/local/etc/apache24/httpd.conf

      The directive will now read as follows:

      /usr/local/etc/apache24/httpd.conf

      ...
      LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so
      ...
      

      Now that you’ve switched the configuration from the MPM pre-fork to event, you can remove the mod_php73 package connecting the PHP processor to Apache HTTP, since it is no longer necessary and will interfere if it remains on the system:

      • sudo pkg remove -y mod_php73

      Make sure the configuration is correct by running the following command to test:

      • sudo apachectl configtest

      If you see Syntax OK in your output, you can restart the Apache HTTP server:

      Note: If there are other running HTTP connections on your server a graceful restart is recommended instead of a regular restart. This will ensure that users are not pushed out, losing their connection:

      You've switched the MPM from pre-fork to event and removed the mod_php73 module connection PHP to Apache HTTP. In the next step you'll install the PHP-FPM module and configure Apache HTTP so that it can communicate with PHP more quickly.

      Step 2 — Configuring Apache HTTP to Use the FastCGI Process Manager

      FreeBSD has several supported versions of PHP that you can install via the package manager. On FreeBSD different binaries of the various available versions are compiled instead of using just one like most GNU/Linux distributions offer in their default repositories. To follow best practice you'll use the supported version, which you can check on at PHP's supported versions page.

      In this step you'll add PHP-FPM as a running service to start at boot. You'll also configure Apache HTTP to work with PHP by adding a dedicated configuration for the module as well as enabling some further modules in httpd.conf.

      First you'll append 'php_fpm_enable=YES' to the /etc/rc.conf file so the PHP-FPM service can start. You'll do that by using the sysrc command:

      • sudo sysrc php_fpm_enable="YES"

      Now you'll add the php-fpm module into the Apache module's directory, so it is configured to be used by Apache HTTP. Create the following file to do so:

      • sudo vi /usr/local/etc/apache24/modules.d/030_php-fpm.conf

      Add the following into 030_php-fpm.conf:

      /usr/local/etc/apache24/modules.d/030_php-fpm.conf

      <IfModule proxy_fcgi_module>
          <IfModule dir_module>
              DirectoryIndex index.php
          </IfModule>
          <FilesMatch ".(php|phtml|inc)$">
              SetHandler "proxy:fcgi://127.0.0.1:9000"
          </FilesMatch>
      </IfModule>
      

      This states that if the module 'proxy_fcgi' is enabled as well as the 'dir_module' then any processed files matching the extensions in parentheses should be handled by the FastCGI process manager running on the local machine through port 9000—as if the local machine were a proxy server. This is where the PHP-FPM module and Apache HTTP interconnect. To achieve this, you'll activate further modules during this step.

      To enable the proxy module, you'll first search for it in the httpd.conf file:

      • nl -ba /usr/local/etc/apache24/httpd.conf | grep mod_proxy.so

      You'll see output similar to the following:

      Output

      ... 129 #LoadModule proxy_module libexec/apache24/mod_proxy.so ...

      You'll uncomment the line by removing the # symbol:

      • sudo vi +129 /usr/local/etc/apache24/httpd.conf

      The line will look as follows once edited:

      /usr/local/etc/apache24/httpd.conf

      ...
      LoadModule proxy_module libexec/apache24/mod_proxy.so
      ...
      

      Now you can activate the FastCGI module. Find the module with the following command:

      • nl -ba /usr/local/etc/apache24/httpd.conf | grep mod_proxy_fcgi.so

      You'll see something similar to the following:

      Output

      ... 133 #LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so ...

      Now uncomment the line 133 as you've already done with the other modules:

      • sudo vi +133 /usr/local/etc/apache24/httpd.conf

      You'll leave the line as follows:

      /usr/local/etc/apache24/httpd.conf

      ...
      LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so
      ...
      

      Once this is done you'll start the PHP-FPM service:

      • sudo service php-fpm start

      And you'll restart Apache so it loads the latest configuration changes incorporating the PHP module:

      You've installed the PHP-FPM module, configured Apache HTTP to work with it, enabled the necessary modules for the FastCGI protocol to work, and started the corresponding services.

      Now that Apache has the Event MPM module enabled and PHP-FPM is present and running, it is time to check everything is working as intended.

      Step 3 — Checking Your Configuration

      In order to check that the configuration changes have been applied you'll run some tests. The first one will check what multi-processing module Apache HTTP is using. The second will verify that PHP is using the FPM manager.

      Check the Apache HTTP server by running the following command:

      • sudo apachectl -M | grep 'mpm'

      Your output will be as follows:

      Output

      mpm_event_module (shared)

      You can repeat the same for the proxy module and FastCGI:

      • sudo apachectl -M | grep 'proxy'

      The output will show:

      Output

      proxy_module (shared) proxy_fcgi_module (shared)

      If you would like to see the entire list of the modules, you can remove the the second part of the command after -M.

      It is now time to check if PHP is using the FastCGI Process Manager. To do so you'll write a very small PHP script that will show you all the information related to PHP.

      Run the following command to write a file named as follows:

      • sudo vi /usr/local/www/apache24/data/info.php

      Add the following content into the info.php file:

      info.php

      <?php phpinfo(); ?>
      

      Now visit your server's URL and append info.php at the end like so: http://your_server_IP_address/info.php.

      The Server API entry will be FPM/FastCGI.

      PHP Screen the Server API entry FPM/FastCGI

      Remember to delete the info.php file after this check so no information about the server is publicly disclosed.

      • sudo rm /usr/local/www/apache24/data/info.php

      You've checked the working status of the MPM module, the modules handling the FastCGI, and the handling of PHP code.

      Conclusion

      You've optimized your original FAMP stack, so the number of connections to create new Apache HTTP processes has increased, PHP-FPM will handle PHP code more efficiently, and overall resource utilization has improved.

      See the Apache HTTP server project documentation for more information on the different modules and related projects.



      Source link