A Comprehensive Guide
Jacob Taylor, May 5, 2023, FileMaker Training Videos
Table of Contents
- Introduction
- Prerequisites
- Downloading FileMaker Server 2023
- Setting Up Your Linux Server
- Choosing a Hosting Environment
- Creating an EC2 Instance on AWS
- Step 1: Log in to AWS Console
- Step 2: Navigate to EC2 Dashboard
- Step 3: Launch a New Instance
- Step 4: Choose an Amazon Machine Image (AMI)
- Step 5: Choose an Instance Type
- Step 6: Configure Instance Details
- Step 7: Add Storage
- Step 8: Add Tags (Optional)
- Step 9: Configure Security Groups
- Step 10: Review and Launch
- Configuring Security Groups in Detail
- Connecting to Your Server via SSH
- Preparing the Linux Server
- Downloading and Preparing the FileMaker Server Installer
- Installing FileMaker Server 2023
- Post-Installation Configuration
- Enabling Web Publishing and WebDirect
- Advanced Configuration
- Disaster Recovery and Backups
- Troubleshooting and Maintenance
- Conclusion
- References
Introduction
FileMaker Server 2023 is a robust, scalable server software designed to host and manage your FileMaker applications securely and efficiently. Running FileMaker Server on Linux provides a cost-effective, high-performance solution, especially when leveraging cloud platforms like Amazon Web Services (AWS). This in-depth guide covers every aspect of installing FileMaker Server 2023 on a Linux server, from initial setup to advanced configurations, ensuring you have a comprehensive understanding of the entire process.
Prerequisites
Before embarking on the installation, it’s crucial to ensure that your Linux environment meets the necessary hardware and software requirements. Proper preparation will streamline the installation process and help avoid potential issues.
Supported Linux Distributions
FileMaker Server 2023 supports the following Linux distributions:
- Ubuntu Server 20.04 LTS (Focal Fossa)
- Ubuntu Server 22.04 LTS (Jammy Jellyfish)
These are Long Term Support (LTS) releases, providing stability and security updates for an extended period.
System Requirements
- Processor: Intel or AMD x86-64 processor (64-bit)
- Multi-core processors are recommended for better performance.
- Memory (RAM):
- Minimum: 8 GB
- Recommended: 16 GB or more, especially for larger deployments or heavy workloads.
- Storage:
- Type: Solid-State Drive (SSD) for optimal performance.
- Capacity: At least 80 GB of free space.
- Note: Additional space may be required depending on the size of your databases and backups.
- Network:
- Bandwidth: Reliable high-speed internet connection.
- IP Address: Static public IP recommended for consistent server accessibility.
- Java:
- Version: OpenJDK 17
- Note: On Linux, Java is installed automatically during the FileMaker Server installation process.
- Firewall and Security:
- Ability to configure firewall settings to open necessary ports.
- Understanding of security best practices for server environments.
Preparing Your Linux Environment
- Administrative Access:
- Ensure you have root or
sudo
privileges on your Linux server. - Familiarity with command-line operations is essential.
- Ensure you have root or
- Domain Name (Optional but Recommended):
- If you plan to secure your server with SSL certificates, having a domain name (e.g.,
fmserver.yourdomain.com
) pointing to your server’s IP address is recommended. - Configure DNS settings to map your domain or subdomain to your server’s public IP.
- If you plan to secure your server with SSL certificates, having a domain name (e.g.,
- Local Machine Requirements:
- A computer with SSH client software to connect to the Linux server.
- For Windows: PuTTY or Windows Subsystem for Linux (WSL)
- For macOS/Linux: Terminal application
- A computer with SSH client software to connect to the Linux server.
- Time Synchronization:
- Ensure the server’s system clock is accurate and synchronized, preferably using NTP (Network Time Protocol).
- Incorrect system time can cause issues with SSL certificates and authentication.
- Ensure the server’s system clock is accurate and synchronized, preferably using NTP (Network Time Protocol).
Downloading FileMaker Server 2023
Before installing, you need to obtain the correct installer package for your Linux distribution and architecture.
Accessing the Claris Customer Console
- Visit the Claris Customer Console:
- Navigate to Claris Customer Console.
- Log In:
- Enter your Claris ID (email) and password.
- If you don’t have an account, you’ll need to create one associated with your FileMaker license.
- Navigate to Downloads:
- Once logged in, find the Downloads or Software Downloads section.
- This area provides access to software installers and license information associated with your account.
Downloading the Installer
- Select the Correct Version:
- Locate FileMaker Server 2023 for Linux.
- Ensure you choose the installer that matches your Linux distribution and architecture:
- Ubuntu 20.04 LTS or Ubuntu 22.04 LTS
- Architecture:
amd64
for Intel/AMD 64-bit processors orarm64
for ARM processors.
- Copy the Download Link:
- Right-click on the download link/button and select Copy Link Address or Copy Link Location.
- This URL will be used to download the installer directly onto your Linux server using command-line tools like
wget
. - Note: The download link is often a long URL with tokens and may expire after a certain period. Ensure you use it promptly.
Setting Up Your Linux Server
Setting up the server involves choosing the right hosting environment and configuring the server instance according to FileMaker Server’s requirements.
Choosing a Hosting Environment
While you can install FileMaker Server on physical hardware or a virtual machine, cloud platforms offer flexibility and scalability. AWS is a popular choice due to its robust services and global infrastructure.
- Alternatives to AWS:
- Microsoft Azure
- Google Cloud Platform (GCP)
- DigitalOcean
- On-Premises Servers
Ensure that whichever environment you choose, it meets the system requirements and allows you to configure network settings as needed.
Creating an EC2 Instance on AWS
Step 1: Log in to AWS Console
- Navigate to AWS Management Console:
- Visit AWS Management Console.
- Authenticate:
- Enter your AWS account credentials.
- If you don’t have an AWS account, you’ll need to create one and set up billing information.
Step 2: Navigate to EC2 Dashboard
- Access EC2 Services:
- Click on Services in the top menu.
- Under Compute, select EC2.
Step 3: Launch a New Instance
- Initiate Instance Creation:
- Click on Launch Instances or Launch Instance button.
Step 4: Choose an Amazon Machine Image (AMI)
- Search for Ubuntu AMI:
- In the Name search bar, type Ubuntu Server 22.04 LTS.
- Select the Correct AMI:
- Ensure you choose an AMI with:
- 64-bit (x86) architecture for Intel/AMD processors.
- HVM virtualization.
- SSD Volume Type for storage.
- Ensure you choose an AMI with:
- Confirm Details:
- Check that the AMI is published by Canonical, the official provider of Ubuntu.
Step 5: Choose an Instance Type
- Instance Type Considerations:
- t3.large:
- vCPUs: 2
- Memory: 8 GB RAM
- Use Case: Recommended for small to medium deployments.
- t3.xlarge or higher:
- vCPUs: 4+
- Memory: 16 GB+ RAM
- Use Case: For larger deployments or heavy workloads.
- t3.large:
- Select Instance Type:
- Click on the desired instance type.
- Note on Burstable Instances:
- T-series instances (e.g., t3.large) are burstable and may not be suitable for consistent high CPU workloads.
- For consistent performance, consider M-series instances (e.g., m5.large).
Step 6: Configure Instance Details
- Network Settings:
- VPC: Select default or a specific VPC if configured.
- Subnet: Choose a subnet in the desired availability zone.
- Auto-assign Public IP:
- Enable: Ensure that your instance is assigned a public IP address for external access.
- Advanced Details:
- Leave default unless specific configurations are required.
Step 7: Add Storage
- Configure Storage Volume:
- Root Volume:
- Size: Set to at least 80 GB (consider more for larger databases).
- Volume Type: Choose gp3 (General Purpose SSD).
- Root Volume:
- Add Additional Volumes (Optional):
- For separating data and OS, you can add additional EBS volumes.
- Note: For simplicity, using a single volume is acceptable.
Step 8: Add Tags (Optional)
- Add Tags:
- Key-Value pairs for identification, organization, or billing purposes.
- Examples:
- Key:
Name
, Value:FileMakerServer
- Key:
Environment
, Value:Production
- Key:
Step 9: Configure Security Groups
- Security Group Basics:
- Acts as a virtual firewall controlling inbound and outbound traffic.
- Create a New Security Group:
- Name:
FileMakerServerSG
or similar. - Description: Brief description of the security group’s purpose.
- Name:
Step 10: Review and Launch
- Review Instance Configuration:
- Double-check all settings for accuracy.
- Launch Instance:
- Click Launch.
- Select or Create Key Pair:
- Key Pair:
- Existing: Choose an existing key pair if you have one.
- New: Create a new key pair.
- Download: Save the
.pem
file securely. - Note: This key is essential for SSH access to your server.
- Download: Save the
- Key Pair:
Configuring Security Groups in Detail
Proper security group configuration is crucial for server accessibility and security.
Understanding Security Group Rules
- Inbound Rules:
- Define the traffic allowed into your instance.
- Outbound Rules:
- Define the traffic allowed out of your instance.
- Best Practices:
- Only open necessary ports.
- Restrict access to specific IP addresses where possible.
Setting Up Inbound Rules
- SSH (Port 22):
- Purpose: Allows remote command-line access.
- Type: SSH
- Protocol: TCP
- Port Range: 22
- Source:
- Your IP: Restrict to your IP address for enhanced security.
- Option: Select My IP in the AWS console.
- Anywhere (0.0.0.0/0): Not recommended; allows access from any IP.
- Your IP: Restrict to your IP address for enhanced security.
- HTTP (Port 80):
- Purpose: Allows unsecured web traffic (used during initial setup or if hosting web services).
- Type: HTTP
- Protocol: TCP
- Port Range: 80
- Source:
0.0.0.0/0
(Allows access from any IP)
- HTTPS (Port 443):
- Purpose: Secure web traffic; required for Admin Console and WebDirect.
- Type: HTTPS
- Protocol: TCP
- Port Range: 443
- Source:
0.0.0.0/0
- FileMaker Server (Port 5003):
- Purpose: Allows FileMaker clients to connect to the server.
- Type: Custom TCP Rule
- Protocol: TCP
- Port Range: 5003
- Source:
0.0.0.0/0
- Additional Ports (If Needed):
- ODBC/JDBC (Port 2399):
- Required if you plan to use ODBC/JDBC connections.
- Type: Custom TCP Rule
- Protocol: TCP
- Port Range: 2399
- Source: Restrict to specific IPs if possible.
- ODBC/JDBC (Port 2399):
Connecting to Your Server via SSH
Once your instance is running and the security groups are configured, you can connect to it using SSH.
Step 1: Setting Permissions on Key Pair
- Navigate to Key Pair File:
- Locate the
.pem
file downloaded earlier.
- Locate the
- Set File Permissions:
- Open a terminal on your local machine.
- Change permissions to read-only for the owner:bashCopy code
chmod 400 /path/to/your-key-pair.pem
- Explanation: This step ensures that your private key is not accessible by others, which SSH requires for security.
Step 2: Connecting Using SSH
- Obtain Public IP Address:
- In the AWS EC2 console, locate your instance and note its Public IPv4 address.
- Initiate SSH Connection:
- Use the following command, replacing placeholders:bashCopy code
ssh -i /path/to/your-key-pair.pem ubuntu@your_server_ip
- Example:bashCopy code
ssh -i ~/keys/filemaker.pem ubuntu@203.0.113.0
- Use the following command, replacing placeholders:bashCopy code
- Accept SSH Key Fingerprint:
- On first connection, you’ll be prompted to confirm the authenticity of the host.
- Type yes and press Enter.
- Troubleshooting Connection Issues:
- Permission Denied:
- Ensure the
.pem
file has the correct permissions. - Verify you’re using the correct username (
ubuntu
for Ubuntu AMIs).
- Ensure the
- Timeout:
- Check that the security group allows SSH access from your IP.
- Ensure the instance is running.
- Permission Denied:
Preparing the Linux Server
Before installing FileMaker Server, it’s essential to update the server’s packages and install necessary utilities.
Updating System Packages
Keeping your system up-to-date ensures you have the latest security patches and software enhancements.
Step 1: Update Package Lists
- Update Package Index:bashCopy code
sudo apt update
- Explanation:
- Fetches the list of available updates and new packages from configured repositories.
Step 2: Upgrade Installed Packages
- Upgrade Packages:bashCopy code
sudo apt upgrade -y
- Explanation:
- Installs newer versions of packages currently installed on the system.
- The
-y
flag automatically answers yes to prompts.
Step 3: Reboot the Server (If Necessary)
- Check if Reboot is Required:bashCopy code
sudo reboot
- Explanation:
- If the kernel or critical system components were updated, a reboot is necessary.
- Reconnect via SSH after the server restarts.
Installing Essential Utilities
Some utilities are not installed by default but are essential for handling files and system administration.
Installing Unzip Utility
- Install Unzip:bashCopy code
sudo apt install unzip -y
- Purpose:
- Required to extract the FileMaker Server installer, which comes in a ZIP file.
Installing Other Useful Tools (Optional)
- Install cURL:bashCopy code
sudo apt install curl -y
- Install Git:bashCopy code
sudo apt install git -y
- Install htop (System Monitor):bashCopy code
sudo apt install htop -y
- Note:
- These tools are optional but can be helpful for system management and monitoring.
Downloading and Preparing the FileMaker Server Installer
With the server updated and necessary utilities installed, you’re ready to download and prepare the FileMaker Server installer.
Step 1: Download the Installer Directly on the Server
- Use wget to Download Installer:
- In your SSH session, run:bashCopy code
wget "https://downloads.claris.com/your-download-link.zip"
- Replace:
"https://downloads.claris.com/your-download-link.zip"
with the actual URL copied earlier.
- In your SSH session, run:bashCopy code
- Example:bashCopy code
wget "https://downloads.claris.com/esd/Release/FMServer_2023_Linux.zip?key=..."
- Note:
- Enclose the URL in quotes to handle any special characters.
- Ensure the link is valid and not expired.
Step 2: Verify the Download
- List Files to Confirm Download:bashCopy code
ls -lh
- Check File Size and Name:
- Ensure the downloaded file matches the expected size and has a
.zip
extension.
- Ensure the downloaded file matches the expected size and has a
Step 3: Extract the Installer
- Unzip the Installer:bashCopy code
unzip FileMakerServer-20.1.1.yourbuildnumber.zip
- Replace:
FileMakerServer-20.1.1.yourbuildnumber.zip
with the actual filename.
- Replace:
- Navigate to the Extracted Directory:bashCopy code
cd fms_20.1.1.yourbuildnumber_amd64
- List Contents:bashCopy code
ls
- Explanation:
- The installer package (
.deb
file) should be present in the directory.
- The installer package (
Installing FileMaker Server 2023
Now that the installer is prepared, you can proceed with the installation.
Step 1: Run the Installer
- Execute the Installer:bashCopy code
sudo apt install ./fms_20.1.1.yourbuildnumber_amd64.deb
- Replace:
fms_20.1.1.yourbuildnumber_amd64.deb
with the actual filename.
- Replace:
- Explanation:
- The
apt install
command installs the package and resolves any dependencies.
- The
Step 2: Accept the License Agreement
- License Agreement Prompt:
- During installation, the terminal will display the Software License Agreement.
- Navigate and Accept:
- Read: Use the Up/Down Arrow keys to scroll through the agreement.
- Accept:
- Press Tab to highlight <Yes>.
- Press Enter to confirm.
Step 3: Configure Installation Settings
Setting the Admin Console Credentials
- Set Admin User:
- Prompt: You’ll be asked to set the Admin Console username.
- Enter: A secure username (e.g.,
admin
).
- Set Admin Password:
- Prompt: Enter a strong password.
- Confirm Password: Re-enter to confirm.
- Password Guidelines:
- Use a mix of uppercase, lowercase, numbers, and special characters.
- Avoid common words or easily guessable information.
Setting the 4-Digit PIN
- Purpose of PIN:
- Used for password recovery on the local machine.
- Set PIN:
- Prompt: Enter a 4-digit numeric PIN.
- Confirm PIN: Re-enter to confirm.
- Security Note:
- Choose a PIN that’s not easily guessable.
Step 4: Complete the Installation
- Wait for Installation to Finish:
- The installer will configure services and complete the setup.
- Installation Messages:
- You may see messages about starting services or initializing components.
- Verify Installation Success:
- No errors should be displayed.
- Final message may indicate the installation is complete.
Post-Installation Configuration
With FileMaker Server installed, several configurations are necessary to ensure optimal operation and security.
Accessing the Admin Console
The Admin Console is the web-based interface for managing FileMaker Server.
Step 1: Open a Web Browser
- On Your Local Machine:
- Use a modern browser (e.g., Chrome, Firefox, Safari).
Step 2: Bypass Security Warning (If Necessary)
- Access Admin Console:
- Navigate to:plaintextCopy code
https://your_server_ip/admin-console
- Replace
your_server_ip
with your server’s public IP or domain name.
- Replace
- Navigate to:plaintextCopy code
- Security Warning:
- Reason: The server uses a self-signed SSL certificate by default.
- Bypass Steps:
- Chrome:
- Click Advanced.
- Click Proceed to your_server_ip (unsafe).
- Firefox:
- Click Advanced.
- Click Accept the Risk and Continue.
- Chrome:
- Note:
- It’s recommended to install a valid SSL certificate to eliminate this warning.
Step 3: Log In to the Admin Console
- Enter Credentials:
- Username: As set during installation.
- Password: As set during installation.
- First-Time Setup Wizard:
- You may be prompted to complete initial setup steps.
- Follow on-screen instructions.
Uploading SSL Certificates
Securing your server with SSL certificates ensures encrypted communication and eliminates browser warnings.
Understanding SSL Certificates
- Types of Certificates:
- Self-Signed Certificate: Generated by the server; not trusted by browsers.
- CA-Signed Certificate: Issued by a trusted Certificate Authority.
- Benefits of CA-Signed Certificates:
- Trusted by browsers and clients.
- Provides authentication and encryption.
Generating a Certificate Signing Request (CSR)
- Use Admin Console or Command-Line:
- Admin Console:
- Navigate to Configuration > SSL Certificates.
- Click Create Request.
- Command-Line:bashCopy code
sudo fmsadmin certificate create --keyfilepass "your_password" --organization "Your Organization" --unit "Your Unit" --email "you@example.com" --state "Your State" --country "Your Country"
- Admin Console:
- Fill in Required Information:
- Common Name (CN): Your server’s domain name (e.g.,
fmserver.yourdomain.com
). - Organization: Legal name of your company.
- Organizational Unit: Department or division.
- Email: Contact email address.
- State: State or province.
- Country: Two-letter country code (e.g.,
US
).
- Common Name (CN): Your server’s domain name (e.g.,
Submitting CSR to Certificate Authority (CA)
- Choose a Trusted CA:
- Examples: Let’s Encrypt, DigiCert, Comodo, GlobalSign.
- Submit CSR:
- Provide the CSR file generated (
serverRequest.pem
or similar) to the CA.
- Provide the CSR file generated (
- Domain Validation:
- CA may require you to prove ownership of the domain (via email validation, DNS records, or file upload).
- Obtain SSL Certificate:
- CA will provide certificate files upon validation.
- Files Typically Provided:
- Server Certificate:
yourdomain.crt
- Intermediate Certificates:
intermediate.crt
orca-bundle.crt
- Server Certificate:
Importing SSL Certificate into FileMaker Server
- Transfer Certificate Files to Server:
- Use
scp
or another secure method to upload files to the server. - Place them in a directory accessible to your user.
- Use
- Import Certificate Using Command-Line:bashCopy code
sudo fmsadmin certificate import /path/to/yourdomain.crt --keyfile /opt/FileMaker/FileMaker\ Server/CStore/serverKey.pem --keyfilepass "your_password" --intermediateCA /path/to/intermediate.crt
- Replace:
/path/to/yourdomain.crt
with the path to your server certificate./path/to/intermediate.crt
with the path to intermediate certificates."your_password"
with the keyfile password set during CSR generation.
- Replace:
- Restart FileMaker Server:bashCopy code
sudo fmsadmin restart server
- Verify SSL Installation:
- Access the Admin Console using your domain name.
- Browser should show a secure connection without warnings.
Configuring Backup Schedules
Regular backups are essential for data protection and recovery.
Understanding Backup Types
- Full Backups:
- Complete copy of databases at the time of backup.
- Progressive Backups:
- Continuously updates backup files with changes, providing near real-time protection.
- Clones:
- Backups of database structure without data (no records).
Creating a Basic Backup Schedule
- Access Backup Configuration:
- In Admin Console, navigate to Configuration > Schedules.
- Create New Backup Schedule:
- Click Create a Schedule.
- Configure Schedule Details:
- Type: Backup
- Name: Descriptive name (e.g., “Daily Backup”).
- Frequency:
- Run: Select Daily, Weekly, or Hourly.
- Start Date/Time: Set when the backup should occur.
- Repeat: Set intervals if applicable.
- Databases to Back Up:
- All Databases or select specific ones.
- Backup Destination:
- Default or specify a custom path.
- Retention Policy:
- Keep: Number of backups to retain before overwriting old ones.
- Advanced Options:
- Verify Backup Integrity:
- Enabling verification ensures backups are consistent but may increase backup time.
- Clone Backups:
- Option to create a clone during backup.
- Verify Backup Integrity:
- Save Schedule:
- Review settings and click Save.
Setting Up Progressive Backups
- Enable Progressive Backups:
- In Admin Console, navigate to Configuration > Database Server > Backup.
- Toggle Enable Progressive Backups to On.
- Configure Settings:
- Backup Interval: Default is every 5 minutes.
- Maximum Copies to Keep: Set how many backup copies to retain.
- Advantages of Progressive Backups:
- Minimizes data loss between backups.
- Reduces impact on server performance compared to frequent full backups.
Adjusting Server Performance Settings
Optimizing server settings can enhance performance and resource utilization.
Modifying Cache Size
- Default Cache Size:
- 512 MB
- Determine Appropriate Cache Size:
- Depends on database size and number of concurrent users.
- Larger cache can improve performance but consumes more RAM.
- Set Cache Size via Command-Line:bashCopy code
sudo fmsadmin set serverconfig cachesize=2048
- Example: Sets cache size to 2048 MB (2 GB).
- Verify Configuration:bashCopy code
sudo fmsadmin get serverconfig
- Check that
CacheSize
reflects the new value.
- Check that
Enabling or Disabling Features
- Access Database Server Settings:
- In Admin Console, navigate to Configuration > Database Server > Settings.
- Adjust Features:
- Maximum Simultaneous Script Sessions: Modify if using server-side scripts heavily.
- Enable SSL for Progressive Backups: Enhances security for backup processes.
- Other Settings: Adjust based on specific needs.
Enabling Web Publishing and WebDirect
To allow users to access databases via a web browser, enable Web Publishing Engine and WebDirect.
Understanding Web Publishing Engine (WPE)
- Purpose:
- Handles web requests and communicates with the database server.
- Components:
- WebDirect: Web-based client interface.
- Custom Web Publishing: Allows custom web solutions via PHP or XML APIs.
Enabling WPE in Admin Console
- Navigate to Web Publishing Settings:
- In Admin Console, go to Configuration > Web Publishing.
- Enable Web Publishing Engine:
- Toggle Enable Web Publishing Engine to On.
- Wait for the status to change to Active.
- Enable WebDirect:
- Toggle Enable FileMaker WebDirect to On.
- Configure WebDirect Settings:
- Maximum Simultaneous Connections: Set based on license and server capacity.
- Session Timeout: Specify inactivity period before session ends.
- Enable Other Web Publishing Options (If Needed):
- Custom Web Publishing with PHP
- Custom Web Publishing with XML
- Apply Changes:
- Click Save or Apply if required.
Testing WebDirect Access
- Access WebDirect:
- Open a web browser.
- Navigate to:plaintextCopy code
https://your_server_ip/fmi/webd
- Or use your domain name.
- Verify Functionality:
- The WebDirect landing page should display.
- Attempt to open a hosted database.
- Troubleshooting:
- If the page doesn’t load, check:
- Firewall settings (port 443 must be open).
- Web Publishing Engine status in Admin Console.
- SSL certificate validity.
- If the page doesn’t load, check:
Advanced Configuration
For enhanced functionality and security, consider implementing advanced configurations.
Managing Server-Side Plugins
Plugins extend the capabilities of FileMaker Server, enabling additional features and integrations.
Understanding Plugin Types and Locations
- Server-Side Plugins:
- Used by server-side scripts and scheduled tasks.
- Location:arduinoCopy code
/opt/FileMaker/FileMaker Server/Database Server/Extensions/
- Web Publishing Engine Plugins:
- Used by WebDirect and Custom Web Publishing.
- Location:bashCopy code
/opt/FileMaker/FileMaker Server/Web Publishing/publishing-engine/cwpc/Plugins/
- Data API Plugins:
- Used by the FileMaker Data API.
- Location:bashCopy code
/opt/FileMaker/FileMaker Server/Web Publishing/publishing-engine/wip/Plugins/
Installing Plugins for Server-Side Scripts
- Obtain Compatible Plugin:
- Ensure the plugin supports Linux and your FileMaker Server version.
- Copy Plugin to Server:
- Upload the plugin file (
.fmx64
or.fmplugin
) to the server.
- Upload the plugin file (
- Place Plugin in Extensions Folder:bashCopy code
sudo cp yourplugin.fmx64 /opt/FileMaker/FileMaker\ Server/Database\ Server/Extensions/
- Set Appropriate Permissions:bashCopy code
sudo chmod 644 /opt/FileMaker/FileMaker\ Server/Database\ Server/Extensions/yourplugin.fmx64
- Restart FileMaker Server:bashCopy code
sudo fmsadmin restart server
Installing Plugins for Web Publishing Engine
- Place Plugin in WPE Plugins Folder:bashCopy code
sudo cp yourplugin.fmx64 /opt/FileMaker/FileMaker\ Server/Web\ Publishing/publishing-engine/cwpc/Plugins/
- Set Permissions:bashCopy code
sudo chmod 644 /opt/FileMaker/FileMaker\ Server/Web\ Publishing/publishing-engine/cwpc/Plugins/yourplugin.fmx64
- Restart WPE:bashCopy code
sudo fmsadmin restart wpe
Enabling Plugins in Admin Console
- Navigate to Plugins Configuration:
- In Admin Console, go to Configuration > Database Server > Plugins.
- Enable Plugin Use:
- Toggle Allow installing plugins to On if using the Install Plugin script step.
- Enable Specific Plugins:
- Find your plugin in the list and toggle it On.
- Apply Changes:
- Save settings and ensure plugins are active.
Configuring External Authentication
Integrating external authentication allows users to log in using credentials from systems like Active Directory or OAuth providers.
Supported External Authentication Methods
- Active Directory (AD)
- Open Directory
- OAuth 2.0 Providers:
- Amazon
- Microsoft Azure AD
- Custom Identity Providers (using OpenID Connect)
Setting Up OAuth Providers
- Navigate to External Authentication:
- In Admin Console, go to Configuration > External Authentication.
- Enable OAuth Authentication:
- Toggle Enable OAuth authentication to On.
- Configure Providers:
- Add Provider:
- Select the desired provider (e.g., Google).
- Enter necessary client IDs and secrets as provided by the OAuth provider.
- Add Provider:
- Configure Redirect URIs:
- Ensure redirect URIs are correctly set in both the OAuth provider’s settings and FileMaker Server.
Mapping External Groups to Privilege Sets
- In FileMaker Pro:
- Open your database file.
- Manage Security:
- Go to File > Manage > Security.
- Add External Authentication Entry:
- Click New.
- Authentication: Choose External Server.
- Account Name: Enter the group name from your authentication system.
- Assign Privilege Set:
- Select the appropriate privilege set for the group.
- Save Changes:
- Apply settings and upload the database to the server.
Testing External Authentication
- Attempt Login:
- Use a client or web browser to access the database.
- Choose to authenticate using the external provider.
- Verify Access:
- Ensure users can log in and have appropriate privileges.
Enhancing Security Settings
Securing your server protects data and complies with best practices.
Enforcing Secure Connections
- Require Secure Connections:
- In Admin Console, navigate to Configuration > Database Server > Security.
- Enable Require secure connections (SSL).
- Effects:
- All client connections must use SSL/TLS.
- Non-secure connections will be rejected.
Restricting Admin Console Access
- Set IP Address Restrictions:
- In Admin Console, go to Configuration > Admin Console > Access.
- Restrict Access: Enter IP addresses or ranges allowed to access the Admin Console.
- Example:
- Allowed Addresses:
192.168.1.0/24
allows all IPs in the subnet.
- Allowed Addresses:
- Save Settings:
- Apply changes to enforce restrictions.
Disabling Unused Services
- Turn Off Unnecessary Features:
- ODBC/JDBC Sharing:
- Disable if not in use.
- In Admin Console, go to Configuration > Database Server > ODBC/JDBC.
- Toggle Enable ODBC/JDBC sharing to Off.
- Other Services:
- Review and disable any features not required for your deployment.
- ODBC/JDBC Sharing:
- Benefits:
- Reduces attack surface.
- Improves performance.
Disaster Recovery and Backups
Implementing robust backup strategies is critical for data integrity and disaster recovery.
Understanding Snapshot-Based Backups
- Snapshots:
- Capture the state of your server’s volume at a specific point in time.
- Useful for restoring entire systems or volumes.
- Application Consistency:
- Snapshots should be taken when the application (FileMaker Server) is in a consistent state.
- Without proper coordination, snapshots may capture data in an inconsistent state.
Setting Up EBS Snapshots in AWS
Automate snapshots using AWS Lifecycle Manager to ensure regular backups.
Step 1: Navigate to AWS EC2 Dashboard
- Access EC2 Services:
- In AWS Management Console, go to Services > EC2.
Step 2: Access Lifecycle Manager
- Elastic Block Store (EBS):
- In the left navigation pane, under Elastic Block Store, select Lifecycle Manager or Snapshots.
Step 3: Create a Snapshot Lifecycle Policy
- Initiate Policy Creation:
- Click Create Snapshot Lifecycle Policy.
Step 4: Configure Policy Details
- Policy Type:
- Choose EBS Snapshot Policy.
- Description:
- Enter a descriptive name (e.g., “FileMaker Server Hourly Snapshots”).
- Target Resources:
- Resource Type: Choose Instances.
- Target Instances:
- Tags: You can target instances by tags (e.g.,
Backup=true
). - Specific Instance IDs: Enter the instance ID of your FileMaker Server.
- Tags: You can target instances by tags (e.g.,
- Schedule Configuration:
- Schedule Name: “Hourly Schedule”
- Frequency: Every 1 hour.
- Start Time: Set initial start time.
- Retention Period:
- Specify the number of snapshots to retain (e.g., 720 for 30 days of hourly snapshots).
- Additional Settings:
- Fast Snapshot Restore: Enable if required (additional costs).
- Tags to Apply to Snapshots: Add tags for identification.
Step 5: Review and Create Policy
- Review Settings:
- Ensure all configurations are correct.
- Create Policy:
- Click Create Policy to finalize.
Restoring from Snapshots
In the event of data loss or corruption, you can restore volumes from snapshots.
Step 1: Locate the Desired Snapshot
- Access Snapshots:
- In AWS EC2 console, go to Snapshots.
- Filter Snapshots:
- Use tags or descriptions to find the appropriate snapshot.
Step 2: Create a Volume from the Snapshot
- Initiate Volume Creation:
- Select the snapshot.
- Click Actions > Create Volume.
- Configure Volume:
- Availability Zone: Must match the zone of your instance.
- Volume Type: Choose as per requirements (e.g., gp3).
- Create Volume:
- Confirm settings and create the volume.
Step 3: Attach Volume to an Instance
- Select Volume:
- In Volumes, find the newly created volume.
- Attach Volume:
- Click Actions > Attach Volume.
- Instance: Select your FileMaker Server instance.
- Device Name: Assign a device identifier (e.g.,
/dev/sdf
).
Step 4: Mount the Volume on the Server
- Connect to Server via SSH:
- Ensure the volume is attached.
- Identify the New Volume:bashCopy code
lsblk
- Create Mount Point:bashCopy code
sudo mkdir /mnt/snapshot
- Mount the Volume:bashCopy code
sudo mount /dev/xvdf1 /mnt/snapshot
- Note: Replace
/dev/xvdf1
with the correct device name.
- Note: Replace
- Verify Mount:bashCopy code
df -h
Step 5: Restore Files from the Snapshot
- Navigate to Backup Files:bashCopy code
cd /mnt/snapshot/PathToBackups
- Copy Files to Active Directory:
- Stop FileMaker Server to ensure data consistency:bashCopy code
sudo fmsadmin stop server
- Copy necessary files:bashCopy code
sudo cp -r /mnt/snapshot/PathToBackups /path/to/active/directory
- Restart FileMaker Server:bashCopy code
sudo fmsadmin start server
- Stop FileMaker Server to ensure data consistency:bashCopy code
- Cleanup:
- Unmount the volume:bashCopy code
sudo umount /mnt/snapshot
- Detach the volume from the instance via AWS console.
- Unmount the volume:bashCopy code
Troubleshooting and Maintenance
Regular maintenance and being prepared to troubleshoot issues are vital for server health.
Common Issues and Solutions
Issue: Cannot Access Admin Console
- Possible Causes:
- FileMaker Server services are not running.
- Firewall rules are blocking access.
- SSL certificate issues.
- Solutions:
- Check Services:bashCopy code
sudo fmsadmin start server
- Verify services are running.
- Firewall Settings:
- Ensure port 443 is open in security groups and any server firewalls.
- SSL Certificate:
- Verify the SSL certificate is valid and properly installed.
- Check Services:bashCopy code
Issue: Web Publishing Engine Fails to Start
- Possible Causes:
- Java issues.
- Misconfiguration in settings.
- Solutions:
- Verify Java Installation:
- Java is installed automatically on Linux, but verify:bashCopy code
java -version
- Should display OpenJDK version 17.
- Java is installed automatically on Linux, but verify:bashCopy code
- Restart WPE:bashCopy code
sudo fmsadmin restart wpe
- Check Logs:
- Review logs in:arduinoCopy code
/opt/FileMaker/FileMaker Server/Logs/
- Look for errors related to WPE.
- Review logs in:arduinoCopy code
- Verify Java Installation:
Issue: Plugins Not Loading
- Possible Causes:
- Incompatible plugin version.
- Incorrect plugin placement.
- Permissions issues.
- Solutions:
- Verify Compatibility:
- Ensure the plugin supports Linux and your FileMaker Server version.
- Check Plugin Location:
- Confirm the plugin is in the correct directory.
- Set Correct Permissions:bashCopy code
sudo chmod 644 /path/to/plugin
- Enable in Admin Console:
- Ensure the plugin is enabled in the Admin Console settings.
- Restart Server:bashCopy code
sudo fmsadmin restart server
- Verify Compatibility:
Issue: FileMaker Server Services Not Running
- Possible Causes:
- Server crashed or was stopped.
- Resource constraints (e.g., low memory).
- Solutions:
- Start Services:bashCopy code
sudo fmsadmin start server
- Check System Resources:
- Use
htop
ortop
to monitor CPU and memory usage.
- Use
- Review Logs for Errors:
- Check logs for indications of why services stopped.
- Start Services:bashCopy code
Monitoring Server Performance
Regular monitoring helps in early detection of potential issues.
Using Admin Console Dashboard
- Access Dashboard:
- Provides real-time metrics on server performance.
- Metrics to Monitor:
- Client Connections: Number of connected clients.
- System Statistics: CPU usage, memory utilization.
- Database Statistics: Cache hit percentage, disk I/O.
Accessing Log Files
- Log File Locations:
- Event Log:bashCopy code
/opt/FileMaker/FileMaker Server/Logs/Event.log
- Access Log:bashCopy code
/opt/FileMaker/FileMaker Server/Logs/Access.log
- TopCall Statistics:bashCopy code
/opt/FileMaker/FileMaker Server/Logs/TopCallStats.log
- Event Log:bashCopy code
- Reviewing Logs:
- Use
less
ortail
commands to view logs. - Look for warnings, errors, and unusual activity.
- Use
Setting Up Email Notifications
- Configure SMTP Settings:
- In Admin Console, navigate to Configuration > General Settings > Email Notifications.
- Set Notification Preferences:
- Choose which events trigger emails (e.g., errors, warnings).
- Test Email Configuration:
- Send a test email to ensure settings are correct.
Updating FileMaker Server
Keeping FileMaker Server up-to-date ensures you have the latest features and security patches.
Step 1: Check for Updates
- Visit Claris Downloads:
- Go to Claris Downloads.
- Review Release Notes:
- Understand what’s new and any potential impacts.
Step 2: Download the Updater
- Obtain the Correct Installer:
- Download the latest version compatible with your server.
Step 3: Install the Update
- Transfer Installer to Server:
- Use
wget
or upload viascp
.
- Use
- Run the Installer:bashCopy code
sudo apt install ./fms_20.1.2.yourbuildnumber_amd64.deb
- Note: Replace with the correct filename.
- Follow Prompts:
- Accept license agreements and confirm installation.
Step 4: Verify the Update
- Check Version in Admin Console:
- In the Admin Console dashboard, confirm the version number reflects the update.
- Test Functionality:
- Ensure services are running and accessible.
Uninstalling FileMaker Server
If you need to remove FileMaker Server, follow these steps.
Step 1: Stop FileMaker Server
- Gracefully Stop Services:bashCopy code
sudo fmsadmin stop server
Step 2: Uninstall FileMaker Server
- Remove Package:bashCopy code
sudo apt remove filemaker-server -y
Step 3: Remove Residual Files
- Delete Installation Directory:bashCopy code
sudo rm -rf /opt/FileMaker/
- Explanation:
- Removes all server files and directories.
Step 4: Remove Configuration Files
- Delete Configurations:bashCopy code
sudo rm -rf /etc/filemaker/
- Note:
- This step removes any remaining configuration files.
Step 5: Restart Your Server
- Reboot System:bashCopy code
sudo reboot
- Purpose:
- Ensures all services are stopped and system resources are freed.
Conclusion
Installing FileMaker Server 2023 on Linux provides a powerful, cost-effective platform for hosting your FileMaker applications. This comprehensive guide has walked you through each step, from initial server setup and installation to advanced configurations and maintenance. By carefully following these instructions and implementing best practices for security and performance, you can ensure a stable and efficient environment for your users.
Regular monitoring, timely updates, and robust backup strategies are essential for ongoing success. Whether you’re deploying in the cloud or on-premises, the flexibility and scalability of Linux, combined with FileMaker Server’s capabilities, make for a robust solution capable of meeting a wide range of organizational needs.
References
- Claris Documentation:
- AWS Documentation:
- Ubuntu Documentation:
- SSL/TLS Certificates:
- Security Best Practices:
- FileMaker Community Resources: