404 Not Found

276 views
Skip to first unread message

zkab

unread,
Sep 7, 2016, 12:08:35 PM9/7/16
to weewx-user
Hi,

I am new to this group  and weewx and have following hardware:

1) Raspberry Pi 3 where I have installed Debian
2) The Belfryboy Clone USB logger - it was installed & recognized 
3) Davis Vantage Vue

I installed according to the documentation http://www.weewx.com/docs/usersguide.htm and it went OK without errors.
Then I installed the web server on the Raspi with 'sudo apt-get install apache2'
I have fixed a static IP (192.168.0.39) to the Raspi with my firewall.

When I enter http://192.168.0.39/weewx from another computer on my network I get:
404 Not Found

Where have I gone wrong ?

Chris Thompstone

unread,
Sep 7, 2016, 12:17:29 PM9/7/16
to weewx-user
Firstly do you know which folder apache is serving from.
You need to know this.

What is likely happening is that (assuming the weewx is working correctly), it is posting the archive data to one folder and apache is serving something totally different.

Have you checked the weewx.conf to see where it is saving the data.

You need to get these to match.

Chris

zkab

unread,
Sep 7, 2016, 12:45:18 PM9/7/16
to weewx-user
The sections dealing with databases in weewx.conf looks like this:

##############################################################################

#   This section binds a data store to a database.

[DataBindings]
    
    [[wx_binding]]
        # The database must match one of the sections in [Databases].
        # This is likely to be the only option you would want to change.
        database = archive_sqlite
        # The name of the table within the database
        table_name = archive
        # The manager handles aggregation of data for historical summaries
        manager = weewx.wxmanager.WXDaySummaryManager
        # The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview.schema

##############################################################################

#   This section defines various databases.

[Databases]
    
    # A SQLite database is simply a single file
    [[archive_sqlite]]
        database_type = SQLite
        database_name = weewx.sdb
    
    # MySQL
    [[archive_mysql]]
        database_type = MySQL
        database_name = weewx

##############################################################################

#   This section defines defaults for the different types of databases.

[DatabaseTypes]
    
    # Defaults for SQLite databases
    [[SQLite]]
        driver = weedb.sqlite
        # Directory in which the database files are located
        SQLITE_ROOT = /var/lib/weewx
    
    # Defaults for MySQL databases
    [[MySQL]]
        driver = weedb.mysql
        # The host where the database is located
        host = localhost
        # The user name for logging in to the host
        user = weewx
        # The password for the user name
        password = weewx

##############################################################################

My knowledge of Apache is low ...
What should be changed ?

Andrew Milner

unread,
Sep 7, 2016, 1:06:12 PM9/7/16
to weewx-user
Apache is not the database.  Apache is the web server.  The database will be either MySQL or SQLite.

Check the documentation for apache2 and its configuration files by googling apache2

Thomas Keffer

unread,
Sep 7, 2016, 8:08:51 PM9/7/16
to weewx-user
Take a look at this post from Matthew and see if it's relevant to your situation.

-tk

--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Chris Thompstone

unread,
Sep 8, 2016, 3:24:02 AM9/8/16
to weewx-user
as said, forget about the database etc, that's likely already been configured for you during the install.

Personally I have always got on better with lighttpd than apache.  But that's your decision,

In weewx.conf there should be the config relating to where it's saving the web html files.

Once you know this, have a look and see if there where it says.

You then need to config apache to serve that folder.  Must be a ton of info on the net on how to config apache, use google.

Obviously apache (or lighttpd) is a completely separate program from weewx,  And weewx is unaware of the web server (apache or whatever) and does not care about it.
Chris

zkab

unread,
Sep 8, 2016, 6:55:22 AM9/8/16
to weewx-user
I made following changes:

/etc/weewx/weewx.conf
HTML_ROOT = /var/www/html/weewx 

/etc/weewx/apache/conf.d/weewx.conf
Alias /weewx /var/www/html/weewx
<Directory /var/www/html/weewx>
  Options FollowSymlinks
  AllowOverride None
# for apache 2.2
  Order allow,deny
  Allow from all
# for apache 2.4
#  Require all granted
</Directory>

then restarted weewx and apache ... Bingo ... it works

Thanks for your professional support ...

Andrew Terhorst

unread,
Sep 4, 2021, 7:46:47 AM9/4/21
to weewx-user
I am a Linux newb. Using lighttpd on Dietpi. Can someone explain to a layperson how to configure weewx to work with lighttpd? I get the 404 error and assume symbolic links need to be fixed. There are so many weewx.conf files. The locate weewx.conf command yields:

/etc/weewx/apache/conf.d/weewx.conf
/etc/weewx/logwatch/conf/logfiles/weewx.conf
/etc/weewx/logwatch/conf/services/weewx.conf
/etc/weewx/rsyslog.d/weewx.conf
/etc/weewx/weewx.conf
/etc/weewx/weewx.conf.dist
/var/lib/dpkg/info/weewx.conffiles
/var/lib/dpkg/info/weewx.config

Thanks in advance.

p q

unread,
Sep 4, 2021, 10:24:00 AM9/4/21
to weewx...@googlegroups.com
Look in the  /etc/weewx/weewx.conf file for the place the HTML files are going and enable them in the web server.

Looks like you have apache installed also...

--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/951927c5-5748-4f71-bd8e-bfc4c5c5bdbbn%40googlegroups.com.


--
Peter Quinn
(415)794-2264

Andrew Terhorst

unread,
Sep 5, 2021, 3:18:06 AM9/5/21
to weewx-user
Thanks, Peter

I only have lighttpd installed/running. When you say enable them for the webserver, can you explain? I have a Debian system and installed weewx via apt-get install as root. Below = weewx.conf file plus the location of the weewx files on my system.

# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2021 Tom Keffer <tke...@gmail.com>
# See the file LICENSE.txt for your rights.

##############################################################################

# This section is for general configuration information.

# Set to 1 for extra debug info, otherwise comment it out or set to zero
debug = 0

# Root directory of the weewx data file hierarchy for this station
WEEWX_ROOT = /

# Whether to log successful operations
log_success = True

# Whether to log unsuccessful operations
log_failure = True

# How long to wait before timing out a socket (FTP, HTTP) connection
socket_timeout = 20

# Do not modify this. It is used when installing and updating weewx.
version = 4.5.1

##############################################################################

#   This section is for information about the station.

[Station]
    
    # Description of the station location
    location = "Primrose Sands, TAS"
    
    # Latitude in decimal degrees. Negative for southern hemisphere
    latitude = -42.882689336779954
    # Longitude in decimal degrees. Negative for western hemisphere.
    longitude = 147.65098099714197
    
    # Altitude of the station, with unit it is in. This is downloaded from
    # from the station if the hardware supports it.
    altitude = 65, meter
    
    # Set to type of station hardware. There must be a corresponding stanza
    # in this file with a 'driver' parameter indicating the driver to be used.
    station_type = Simulator
    
    # If you have a website, you may specify an URL
    #station_url = http://www.example.com
    
    # The start of the rain year (1=January; 10=October, etc.). This is
    # downloaded from the station if the hardware supports it.
    rain_year_start = 1
    
    # Start of week (0=Monday, 6=Sunday)
    week_start = 6

##############################################################################

[Simulator]
    # This section is for the weewx weather station simulator
    
    # The time (in seconds) between LOOP packets.
    loop_interval = 2.5
    
    # The simulator mode can be either 'simulator' or 'generator'.
    # Real-time simulator. Sleep between each LOOP packet.
    mode = simulator
    # Generator.  Emit LOOP packets as fast as possible (useful for testing).
    #mode = generator
    
    # The start time. Format is YYYY-mm-ddTHH:MM. If not specified, the default
    # is to use the present time.
    #start = 2011-01-01T00:00
    
    # The driver to use:
    driver = weewx.drivers.simulator

##############################################################################

#   This section is for uploading data to Internet sites

[StdRESTful]
    
    [[StationRegistry]]
        # To register this weather station with weewx, set this to true
        register_this_station = false
    
    [[AWEKAS]]
        # This section is for configuring posts to AWEKAS.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify a username and password.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        username = replace_me
        password = replace_me
    
    [[CWOP]]
        # This section is for configuring posts to CWOP.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify the station ID (e.g., CW1234).
        enable = false
        station = replace_me
    
    # If this is an APRS (radio amateur) station, uncomment
    # the following and replace with a passcode (e.g., 12345).
    #passcode = replace_me (APRS stations only)
    
    [[PWSweather]]
        # This section is for configuring posts to PWSweather.com.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify a station and password.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        station = replace_me
        password = replace_me
    
    [[WOW]]
        # This section is for configuring posts to WOW.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify a station and password.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        station = replace_me
        password = replace_me
    
    [[Wunderground]]
        # This section is for configuring posts to the Weather Underground.
        
        # If you wish to do this, set the option 'enable' to true,
        # and specify a station (e.g., 'KORHOODR3') and password.
        # To guard against parsing errors, put the password in quotes.
        enable = false
        station = replace_me
        password = replace_me
        
        # If you plan on using wunderfixer, set the following
        # to your API key:
        api_key = replace_me
        
        # Set the following to True to have weewx use the WU "Rapidfire"
        # protocol. Not all hardware can support it. See the User's Guide.
        rapidfire = False

##############################################################################

#   This section specifies what reports, using which skins, to generate.

[StdReport]
    
    # Where the skins reside, relative to WEEWX_ROOT
    SKIN_ROOT = /etc/weewx/skins
    
    # Where the generated reports should go, relative to WEEWX_ROOT
    HTML_ROOT = /var/www/html/weewx
    
    # The database binding indicates which data should be used in reports.
    data_binding = wx_binding
    
    # Whether to log a successful operation
    log_success = True
    
    # Whether to log an unsuccessful operation
    log_failure = True
    
    # Each of the following subsections defines a report that will be run.
    # See the customizing guide to change the units, plot types and line
    # colors, modify the fonts, display additional sensor data, and other
    # customizations. Many of those changes can be made here by overriding
    # parameters, or by modifying templates within the skin itself.
    
    [[SeasonsReport]]
        # The SeasonsReport uses the 'Seasons' skin, which contains the
        # images, templates and plots for the report.
        skin = Seasons
        enable = true
    
    [[SmartphoneReport]]
        # The SmartphoneReport uses the 'Smartphone' skin, and the images and
        # files are placed in a dedicated subdirectory.
        skin = Smartphone
        enable = false
        HTML_ROOT = /var/www/html/weewx/smartphone
    
    [[MobileReport]]
        # The MobileReport uses the 'Mobile' skin, and the images and files
        # are placed in a dedicated subdirectory.
        skin = Mobile
        enable = false
        HTML_ROOT = /var/www/html/weewx/mobile
    
    [[StandardReport]]
        # This is the old "Standard" skin. By default, it is not enabled.
        skin = Standard
        enable = false
    
    [[FTP]]
        # FTP'ing the results to a webserver is treated as just another report,
        # albeit one with an unusual report generator!
        skin = Ftp
        
        # If you wish to use FTP, set "enable" to "true", then
        # fill out the next four lines.
        # Use quotes around passwords to guard against parsing errors.
        enable = false
        user = replace_me
        password = replace_me
        server = replace_me    # The ftp server name, e.g, www.myserver.org
        path = replace_me    # The destination directory, e.g., /weather
        
        # Set to True for an FTP over TLS (FTPS) connection. Not all servers
        # support this.
        secure_ftp = False
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = /var/www/html/weewx
        
        # Most FTP servers use port 21
        port = 21
        
        # Set to 1 to use passive mode, zero for active mode
        passive = 1
    
    [[RSYNC]]
        # rsync'ing to a webserver is treated as just another report
        skin = Rsync
        
        # If you wish to use rsync, you must configure passwordless ssh using
        # public/private key authentication from the user account that weewx
        # runs to the user account on the remote machine where the files
        # will be copied.
        #
        # If you wish to use rsync, set "enable" to "true", then
        # fill out server, user, and path.
        # The server should appear in your .ssh/config file.
        # The user is the username used in the identity file.
        # The path is the destination directory, such as /var/www/html/weather.
        # Be sure that the user has write permissions on the destination!
        enable = false
        server = replace_me
        user = replace_me
        path = replace_me
        
        # To upload files from something other than what HTML_ROOT is set
        # to above, specify a different HTML_ROOT here.
        #HTML_ROOT = /var/www/html/weewx
        
        # Rsync can be configured to remove files from the remote server if
        # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you
        # make a mistake in the remote path, you could could unintentionally
        # cause unrelated files to be deleted. Set to 1 to enable remote file
        # deletion, zero to allow files to accumulate remotely.
        delete = 0
    
    ####
    
    # Various options for customizing your reports.
    
    [[Defaults]]
        
        [[[Units]]]
            
            # The following section sets what unit to use for each unit group.
            # NB: The unit is always in the singular. I.e., 'mile_per_hour',
            # NOT 'miles_per_hour'
            [[[[Groups]]]]
                
                group_altitude = meter    # Options are 'foot' or 'meter'
                group_degree_day = degree_C_day    # Options are 'degree_F_day' or 'degree_C_day'
                group_distance = km    # Options are 'mile' or 'km'
                group_pressure = mbar    # Options are 'inHg', 'mmHg', 'mbar', 'hPa', or 'kPa'
                group_rain = cm    # Options are 'inch', 'cm', or 'mm'
                group_rainrate = cm_per_hour    # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
                group_speed = km_per_hour    # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second'
                group_speed2 = km_per_hour2    # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
                group_temperature = degree_C    # Options are 'degree_F' or 'degree_C'
            
            # The following section sets the formatting for each type of unit.
            [[[[StringFormats]]]]
                
                centibar = %.0f
                cm = %.2f
                cm_per_hour = %.2f
                degree_C = %.1f
                degree_F = %.1f
                degree_compass = %.0f
                foot = %.0f
                hPa = %.1f
                hour = %.1f
                inHg = %.3f
                inch = %.2f
                inch_per_hour = %.2f
                km = %.1f
                km_per_hour = %.0f
                km_per_hour2 = %.1f
                knot = %.0f
                knot2 = %.1f
                kPa = %.2f
                mbar = %.1f
                meter = %.0f
                meter_per_second = %.1f
                meter_per_second2 = %.1f
                mile = %.1f
                mile_per_hour = %.0f
                mile_per_hour2 = %.1f
                mm = %.1f
                mmHg = %.1f
                mm_per_hour = %.1f
                percent = %.0f
                second = %.0f
                uv_index = %.1f
                volt = %.1f
                watt_per_meter_squared = %.0f
                NONE = "   N/A"
            
            # The following section overrides the label used for each type of unit
            [[[[Labels]]]]
                
                meter = " meter", " meters"    # You may prefer "metre".
                day = " day", " days"
                hour = " hour", " hours"
                minute = " minute", " minutes"
                second = " second", " seconds"
                NONE = ""
            
            # The following section sets the format for each time scale.
            # The values below will work in every locale, but they may not look
            # particularly attractive.
            [[[[TimeFormats]]]]
                
                hour = %H:%M
                day = %X
                week = %X (%A)
                month = %x %X
                year = %x %X
                rainyear = %x %X
                current = %x %X
                ephem_day = %X
                ephem_year = %x %X
            
            [[[[Ordinates]]]]
                
                # Ordinal directions. The last one is for no wind direction
                directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW, N/A
            
            # The following section sets the base temperatures used for the
            #  calculation of heating, cooling, and growing degree-days.
            [[[[DegreeDays]]]]
                
                # Base temperature for heating days, with unit:
                heating_base = 65, degree_F
                # Base temperature for cooling days, with unit:
                cooling_base = 65, degree_F
                # Base temperature for growing days, with unit:
                growing_base = 50, degree_F
            
            # A trend takes a difference across a time period. The following
            # section sets the time period, and how big an error is allowed to
            # still be counted as the start or end of a period.
            [[[[Trend]]]]
                
                time_delta = 10800    # 3 hours
                time_grace = 300    # 5 minutes
        
        # The labels to be used for each observation type
        [[[Labels]]]
            
            # Set to hemisphere abbreviations suitable for your location:
            hemispheres = N, S, E, W
            
            # Formats to be used for latitude whole degrees, longitude whole
            # degrees, and minutes:
            latlon_formats = %02d, %03d, %05.2f
            
            # Generic labels, keyed by an observation type.
            [[[[Generic]]]]
                barometer = Barometer
                dewpoint = Dew Point
                ET = ET
                heatindex = Heat Index
                inHumidity = Inside Humidity
                inTemp = Inside Temperature
                outHumidity = Humidity
                outTemp = Outside Temperature
                radiation = Radiation
                rain = Rain
                rainRate = Rain Rate
                UV = UV Index
                windDir = Wind Direction
                windGust = Gust Speed
                windGustDir = Gust Direction
                windSpeed = Wind Speed
                windchill = Wind Chill
                windgustvec = Gust Vector
                windvec = Wind Vector
                extraTemp1 = Temperature1
                extraTemp2 = Temperature2
                extraTemp3 = Temperature3
                
                # Sensor status indicators
                
                rxCheckPercent = Signal Quality
                txBatteryStatus = Transmitter Battery
                windBatteryStatus = Wind Battery
                rainBatteryStatus = Rain Battery
                outTempBatteryStatus = Outside Temperature Battery
                inTempBatteryStatus = Inside Temperature Battery
                consBatteryVoltage = Console Battery
                heatingVoltage = Heating Battery
                supplyVoltage = Supply Voltage
                referenceVoltage = Reference Voltage
        
        [[[Almanac]]]
            
            # The labels to be used for the phases of the moon:
            moon_phases = New, Waxing crescent, First quarter, Waxing gibbous, Full, Waning gibbous, Last quarter, Waning crescent

##############################################################################

#   This service acts as a filter, converting the unit system coming from
#   the hardware to a unit system in the database.

[StdConvert]
    
    # The target_unit affects only the unit system in the database. Once
    # chosen it cannot be changed without converting the entire database.
    # Modification of target_unit after starting weewx will result in
    # corrupt data - the database will contain a mix of US and METRIC data.
    #
    # The value of target_unit does not affect the unit system for
    # reporting - reports can display US, Metric, or any combination of units.
    #
    # In most cases, target_unit should be left as the default: US
    #
    # In particular, those migrating from a standard wview installation
    # should use US since that is what the wview database contains.
    
    # DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
    target_unit = US    # Options are 'US', 'METRICWX', or 'METRIC'

##############################################################################

#   This section can adjust data using calibration expressions.

[StdCalibrate]
    
    [[Corrections]]
        # For each type, an arbitrary calibration expression can be given.
        # It should be in the units defined in the StdConvert section.
        # Example:
        foo = foo + 0.2

##############################################################################

#   This section is for quality control checks. If units are not specified,
#   values must be in the units defined in the StdConvert section.

[StdQC]
    
    [[MinMax]]
        barometer = 26, 32.5, inHg
        pressure = 24, 34.5, inHg
        outTemp = -40, 120, degree_F
        inTemp = 10, 120, degree_F
        outHumidity = 0, 100
        inHumidity = 0, 100
        windSpeed = 0, 120, mile_per_hour
        rain = 0, 10, inch

##############################################################################

#   This section controls the origin of derived values.

[StdWXCalculate]
    
    [[Calculations]]
        # How to calculate derived quantities.  Possible values are:
        #  hardware        - use the value provided by hardware
        #  software        - use the value calculated by weewx
        #  prefer_hardware - use value provide by hardware if available,
        #                      otherwise use value calculated by weewx
        
        pressure = prefer_hardware
        altimeter = prefer_hardware
        appTemp = prefer_hardware
        barometer = prefer_hardware
        cloudbase = prefer_hardware
        dewpoint = prefer_hardware
        ET = prefer_hardware
        heatindex = prefer_hardware
        humidex = prefer_hardware
        inDewpoint = prefer_hardware
        maxSolarRad = prefer_hardware
        rainRate = prefer_hardware
        windchill = prefer_hardware
        windrun = prefer_hardware

##############################################################################

#   For hardware that supports it, this section controls how often the
#   onboard clock gets updated.

[StdTimeSynch]
    
    # How often to check the weather station clock for drift (in seconds)
    clock_check = 14400
    
    # How much it can drift before we will correct it (in seconds)
    max_drift = 5

##############################################################################

#   This section is for configuring the archive service.

[StdArchive]
    
    # If the station hardware supports data logging then the archive interval
    # will be downloaded from the station. Otherwise, specify it (in seconds).
    archive_interval = 300
    
    # If possible, new archive records are downloaded from the station
    # hardware. If the hardware does not support this, then new archive
    # records will be generated in software.
    # Set the following to "software" to force software record generation.
    record_generation = hardware
    
    # Whether to include LOOP data in hi/low statistics
    loop_hilo = True
    
    # The data binding used to save archive records
    data_binding = wx_binding
    
    # Whether to log successful archive operations
    log_success = True
    
    # Whether to log unsuccessful archive operations
    log_failure = True


##############################################################################

#   This section binds a data store to a database.

[DataBindings]
    
    [[wx_binding]]
        # The database must match one of the sections in [Databases].
        # This is likely to be the only option you would want to change.
        database = archive_sqlite
        # The name of the table within the database
        table_name = archive
        # The manager handles aggregation of data for historical summaries
        manager = weewx.manager.DaySummaryManager

        # The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview_extended.schema


##############################################################################

#   This section defines various databases.

[Databases]
    
    # A SQLite database is simply a single file
    [[archive_sqlite]]
        database_name = weewx.sdb
        database_type = SQLite
    
    # MySQL
    [[archive_mysql]]
        database_name = weewx
        database_type = MySQL


##############################################################################

#   This section defines defaults for the different types of databases.

[DatabaseTypes]
    
    # Defaults for SQLite databases
    [[SQLite]]
        driver = weedb.sqlite
        # Directory in which the database files are located
        SQLITE_ROOT = /var/lib/weewx
    
    # Defaults for MySQL databases
    [[MySQL]]
        driver = weedb.mysql
        # The host where the database is located
        host = localhost
        # The user name for logging in to the host
        user = weewx
        # The password for the user name (quotes guard against parsing errors)
        password = weewx

##############################################################################

#   This section configures the internal weewx engine.

[Engine]
    
    # The following section specifies which services should be run and in what order.
    [[Services]]
        prep_services = weewx.engine.StdTimeSynch
        data_services = ,
        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
        xtype_services = weewx.wxxtypes.StdWXXTypes, weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, weewx.wxxtypes.StdDelta
        archive_services = weewx.engine.StdArchive
        restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport



>>>>>>>>>>>

/etc/apt/sources.list.d/weewx.list
/etc/default/weewx
/etc/init.d/weewx
/etc/rc0.d/K01weewx
/etc/rc1.d/K01weewx
/etc/rc2.d/S01weewx
/etc/rc3.d/S01weewx
/etc/rc4.d/S01weewx
/etc/rc5.d/S01weewx
/etc/rc6.d/K01weewx
/etc/weewx
/etc/weewx/apache
/etc/weewx/apache/conf.d
/etc/weewx/apache/conf.d/weewx.conf
/etc/weewx/import
/etc/weewx/import/csv-example.conf
/etc/weewx/import/cumulus-example.conf
/etc/weewx/import/wd-example.conf
/etc/weewx/import/weathercat-example.conf
/etc/weewx/import/wu-example.conf
/etc/weewx/logrotate.d
/etc/weewx/logrotate.d/weewx
/etc/weewx/logwatch
/etc/weewx/logwatch/conf
/etc/weewx/logwatch/conf/logfiles
/etc/weewx/logwatch/conf/logfiles/weewx.conf
/etc/weewx/logwatch/conf/services
/etc/weewx/logwatch/conf/services/weewx.conf
/etc/weewx/logwatch/scripts
/etc/weewx/logwatch/scripts/services
/etc/weewx/logwatch/scripts/services/weewx
/etc/weewx/rsyslog.d
/etc/weewx/rsyslog.d/weewx.conf
/etc/weewx/scripts
/etc/weewx/scripts/wee_config
/etc/weewx/scripts/wee_database
/etc/weewx/scripts/wee_debug
/etc/weewx/scripts/wee_device
/etc/weewx/scripts/wee_extension
/etc/weewx/scripts/wee_import
/etc/weewx/scripts/wee_reports
/etc/weewx/scripts/weewxd
/etc/weewx/scripts/wunderfixer
/etc/weewx/skins
/etc/weewx/skins/Ftp
/etc/weewx/skins/Ftp/skin.conf
/etc/weewx/skins/Mobile
/etc/weewx/skins/Mobile/favicon.ico
/etc/weewx/skins/Mobile/index.html.tmpl
/etc/weewx/skins/Mobile/mobile.css
/etc/weewx/skins/Mobile/skin.conf
/etc/weewx/skins/Rsync
/etc/weewx/skins/Rsync/skin.conf
/etc/weewx/skins/Seasons
/etc/weewx/skins/Seasons/NOAA
/etc/weewx/skins/Seasons/NOAA/NOAA-%Y-%m.txt.tmpl
/etc/weewx/skins/Seasons/NOAA/NOAA-%Y.txt.tmpl
/etc/weewx/skins/Seasons/about.inc
/etc/weewx/skins/Seasons/analytics.inc
/etc/weewx/skins/Seasons/celestial.html.tmpl
/etc/weewx/skins/Seasons/celestial.inc
/etc/weewx/skins/Seasons/current.inc
/etc/weewx/skins/Seasons/favicon.ico
/etc/weewx/skins/Seasons/font
/etc/weewx/skins/Seasons/font/OpenSans-Bold.ttf
/etc/weewx/skins/Seasons/font/OpenSans-Regular.ttf
/etc/weewx/skins/Seasons/font/OpenSans.woff
/etc/weewx/skins/Seasons/font/OpenSans.woff2
/etc/weewx/skins/Seasons/font/license.txt
/etc/weewx/skins/Seasons/hilo.inc
/etc/weewx/skins/Seasons/identifier.inc
/etc/weewx/skins/Seasons/index.html.tmpl
/etc/weewx/skins/Seasons/map.inc
/etc/weewx/skins/Seasons/radar.inc
/etc/weewx/skins/Seasons/rss.xml.tmpl
/etc/weewx/skins/Seasons/satellite.inc
/etc/weewx/skins/Seasons/seasons.css
/etc/weewx/skins/Seasons/seasons.js
/etc/weewx/skins/Seasons/sensors.inc
/etc/weewx/skins/Seasons/skin.conf
/etc/weewx/skins/Seasons/statistics.html.tmpl
/etc/weewx/skins/Seasons/statistics.inc
/etc/weewx/skins/Seasons/sunmoon.inc
/etc/weewx/skins/Seasons/tabular.html.tmpl
/etc/weewx/skins/Seasons/telemetry.html.tmpl
/etc/weewx/skins/Seasons/titlebar.inc
/etc/weewx/skins/Smartphone
/etc/weewx/skins/Smartphone/barometer.html.tmpl
/etc/weewx/skins/Smartphone/custom.js
/etc/weewx/skins/Smartphone/favicon.ico
/etc/weewx/skins/Smartphone/humidity.html.tmpl
/etc/weewx/skins/Smartphone/icons
/etc/weewx/skins/Smartphone/icons/icon_ipad_x1.png
/etc/weewx/skins/Smartphone/icons/icon_ipad_x2.png
/etc/weewx/skins/Smartphone/icons/icon_iphone_x1.png
/etc/weewx/skins/Smartphone/icons/icon_iphone_x2.png
/etc/weewx/skins/Smartphone/index.html.tmpl
/etc/weewx/skins/Smartphone/rain.html.tmpl
/etc/weewx/skins/Smartphone/skin.conf
/etc/weewx/skins/Smartphone/temp.html.tmpl
/etc/weewx/skins/Smartphone/wind.html.tmpl
/etc/weewx/skins/Standard
/etc/weewx/skins/Standard/NOAA
/etc/weewx/skins/Standard/NOAA/NOAA-%Y-%m.txt.tmpl
/etc/weewx/skins/Standard/NOAA/NOAA-%Y.txt.tmpl
/etc/weewx/skins/Standard/RSS
/etc/weewx/skins/Standard/RSS/weewx_rss.xml.tmpl
/etc/weewx/skins/Standard/backgrounds
/etc/weewx/skins/Standard/backgrounds/band.gif
/etc/weewx/skins/Standard/backgrounds/butterfly.jpg
/etc/weewx/skins/Standard/backgrounds/drops.gif
/etc/weewx/skins/Standard/backgrounds/flower.jpg
/etc/weewx/skins/Standard/backgrounds/leaf.jpg
/etc/weewx/skins/Standard/backgrounds/night.gif
/etc/weewx/skins/Standard/favicon.ico
/etc/weewx/skins/Standard/index.html.tmpl
/etc/weewx/skins/Standard/mobile.css
/etc/weewx/skins/Standard/mobile.html.tmpl
/etc/weewx/skins/Standard/month.html.tmpl
/etc/weewx/skins/Standard/skin.conf
/etc/weewx/skins/Standard/smartphone
/etc/weewx/skins/Standard/smartphone/barometer.html.tmpl
/etc/weewx/skins/Standard/smartphone/custom.js
/etc/weewx/skins/Standard/smartphone/humidity.html.tmpl
/etc/weewx/skins/Standard/smartphone/icons
/etc/weewx/skins/Standard/smartphone/icons/icon_ipad_x1.png
/etc/weewx/skins/Standard/smartphone/icons/icon_ipad_x2.png
/etc/weewx/skins/Standard/smartphone/icons/icon_iphone_x1.png
/etc/weewx/skins/Standard/smartphone/icons/icon_iphone_x2.png
/etc/weewx/skins/Standard/smartphone/index.html.tmpl
/etc/weewx/skins/Standard/smartphone/radar.html.tmpl
/etc/weewx/skins/Standard/smartphone/rain.html.tmpl
/etc/weewx/skins/Standard/smartphone/temp_outside.html.tmpl
/etc/weewx/skins/Standard/smartphone/wind.html.tmpl
/etc/weewx/skins/Standard/week.html.tmpl
/etc/weewx/skins/Standard/weewx.css
/etc/weewx/skins/Standard/year.html.tmpl
/etc/weewx/udev
/etc/weewx/udev/rules.d
/etc/weewx/udev/rules.d/acurite.rules
/etc/weewx/udev/rules.d/cc3000.rules
/etc/weewx/udev/rules.d/fousb.rules
/etc/weewx/udev/rules.d/te923.rules
/etc/weewx/udev/rules.d/vantage.rules
/etc/weewx/udev/rules.d/weewx.rules
/etc/weewx/udev/rules.d/wmr100.rules
/etc/weewx/udev/rules.d/wmr300.rules
/etc/weewx/udev/rules.d/ws28xx.rules
/etc/weewx/weewx.conf
/etc/weewx/weewx.conf.dist
/run/systemd/generator.late/graphical.target.wants/weewx.service
/run/systemd/generator.late/multi-user.target.wants/weewx.service
/run/systemd/generator.late/weewx.service
/run/systemd/units/invocation:weewx.service
/run/weewx.pid
/usr/bin/weewxd
/usr/share/doc/weewx
/usr/share/doc/weewx/accum.md
/usr/share/doc/weewx/changelog.Debian
/usr/share/doc/weewx/changes.txt
/usr/share/doc/weewx/copyright
/usr/share/doc/weewx/copyright.htm
/usr/share/doc/weewx/css
/usr/share/doc/weewx/css/tocbot-4.12.0.css
/usr/share/doc/weewx/css/tocbot-4.3.1.css
/usr/share/doc/weewx/css/weewx_ui.css
/usr/share/doc/weewx/customizing.htm
/usr/share/doc/weewx/debian.htm
/usr/share/doc/weewx/devnotes.htm
/usr/share/doc/weewx/examples
/usr/share/doc/weewx/examples/__pycache__
/usr/share/doc/weewx/examples/__pycache__/stats.cpython-35.pyc
/usr/share/doc/weewx/examples/__pycache__/stats.cpython-37.pyc
/usr/share/doc/weewx/examples/__pycache__/stats.cpython-38.pyc
/usr/share/doc/weewx/examples/__pycache__/stats.cpython-39.pyc
/usr/share/doc/weewx/examples/__pycache__/vaporpressure.cpython-35.pyc
/usr/share/doc/weewx/examples/__pycache__/vaporpressure.cpython-39.pyc
/usr/share/doc/weewx/examples/alarm.py
/usr/share/doc/weewx/examples/basic
/usr/share/doc/weewx/examples/basic/__pycache__
/usr/share/doc/weewx/examples/basic/__pycache__/install.cpython-35.pyc
/usr/share/doc/weewx/examples/basic/changelog
/usr/share/doc/weewx/examples/basic/install.py
/usr/share/doc/weewx/examples/basic/readme.txt
/usr/share/doc/weewx/examples/basic/skins
/usr/share/doc/weewx/examples/basic/skins/basic
/usr/share/doc/weewx/examples/basic/skins/basic/basic.css
/usr/share/doc/weewx/examples/basic/skins/basic/current.inc
/usr/share/doc/weewx/examples/basic/skins/basic/favicon.ico
/usr/share/doc/weewx/examples/basic/skins/basic/hilo.inc
/usr/share/doc/weewx/examples/basic/skins/basic/index.html.tmpl
/usr/share/doc/weewx/examples/basic/skins/basic/skin.conf
/usr/share/doc/weewx/examples/fileparse
/usr/share/doc/weewx/examples/fileparse/bin
/usr/share/doc/weewx/examples/fileparse/bin/user
/usr/share/doc/weewx/examples/fileparse/bin/user/fileparse.py
/usr/share/doc/weewx/examples/fileparse/changelog
/usr/share/doc/weewx/examples/fileparse/install.py
/usr/share/doc/weewx/examples/fileparse/readme.txt
/usr/share/doc/weewx/examples/lowBattery.py
/usr/share/doc/weewx/examples/mem.py
/usr/share/doc/weewx/examples/pmon
/usr/share/doc/weewx/examples/pmon/bin
/usr/share/doc/weewx/examples/pmon/bin/user
/usr/share/doc/weewx/examples/pmon/bin/user/pmon.py
/usr/share/doc/weewx/examples/pmon/changelog
/usr/share/doc/weewx/examples/pmon/install.py
/usr/share/doc/weewx/examples/pmon/readme.txt
/usr/share/doc/weewx/examples/pmon/skins
/usr/share/doc/weewx/examples/pmon/skins/pmon
/usr/share/doc/weewx/examples/pmon/skins/pmon/index.html.tmpl
/usr/share/doc/weewx/examples/pmon/skins/pmon/skin.conf
/usr/share/doc/weewx/examples/stats.py
/usr/share/doc/weewx/examples/stats.pyc
/usr/share/doc/weewx/examples/tag.htm
/usr/share/doc/weewx/examples/tests
/usr/share/doc/weewx/examples/tests/test_vaporpressure.py
/usr/share/doc/weewx/examples/transfer_db.py
/usr/share/doc/weewx/examples/vaporpressure.py
/usr/share/doc/weewx/examples/vaporpressure.pyc
/usr/share/doc/weewx/examples/xstats
/usr/share/doc/weewx/examples/xstats/bin
/usr/share/doc/weewx/examples/xstats/bin/user
/usr/share/doc/weewx/examples/xstats/bin/user/xstats.py
/usr/share/doc/weewx/examples/xstats/changelog
/usr/share/doc/weewx/examples/xstats/install.py
/usr/share/doc/weewx/examples/xstats/readme.txt
/usr/share/doc/weewx/examples/xstats/skins
/usr/share/doc/weewx/examples/xstats/skins/xstats
/usr/share/doc/weewx/examples/xstats/skins/xstats/index.html.tmpl
/usr/share/doc/weewx/examples/xstats/skins/xstats/skin.conf
/usr/share/doc/weewx/hardware.htm
/usr/share/doc/weewx/images
/usr/share/doc/weewx/images/antialias.gif
/usr/share/doc/weewx/images/day-gap-not-shown.png
/usr/share/doc/weewx/images/day-gap-showing.png
/usr/share/doc/weewx/images/daycompare.png
/usr/share/doc/weewx/images/daytemp_with_avg.png
/usr/share/doc/weewx/images/dayvaporp.png
/usr/share/doc/weewx/images/daywindvec.png
/usr/share/doc/weewx/images/favicon.png
/usr/share/doc/weewx/images/ferrites.jpg
/usr/share/doc/weewx/images/funky_degree.png
/usr/share/doc/weewx/images/image_parts.png
/usr/share/doc/weewx/images/image_parts.xcf
/usr/share/doc/weewx/images/logo-apple.png
/usr/share/doc/weewx/images/logo-centos.png
/usr/share/doc/weewx/images/logo-debian.png
/usr/share/doc/weewx/images/logo-fedora.png
/usr/share/doc/weewx/images/logo-linux.png
/usr/share/doc/weewx/images/logo-mint.png
/usr/share/doc/weewx/images/logo-opensuse.png
/usr/share/doc/weewx/images/logo-pypi.svg
/usr/share/doc/weewx/images/logo-redhat.png
/usr/share/doc/weewx/images/logo-rpi.png
/usr/share/doc/weewx/images/logo-suse.png
/usr/share/doc/weewx/images/logo-ubuntu.png
/usr/share/doc/weewx/images/logo-weewx.png
/usr/share/doc/weewx/images/pipeline.png
/usr/share/doc/weewx/images/sample_monthrain.png
/usr/share/doc/weewx/images/sample_monthtempdew.png
/usr/share/doc/weewx/images/weekgustoverlay.png
/usr/share/doc/weewx/images/weektempdew.png
/usr/share/doc/weewx/images/yearhilow.png
/usr/share/doc/weewx/js
/usr/share/doc/weewx/js/cash.js
/usr/share/doc/weewx/js/cash.min.js
/usr/share/doc/weewx/js/tocbot-4.12.0.js
/usr/share/doc/weewx/js/tocbot-4.12.0.min.js
/usr/share/doc/weewx/js/tocbot-4.3.1.js
/usr/share/doc/weewx/js/tocbot-4.3.1.min.js
/usr/share/doc/weewx/js/weewx.js
/usr/share/doc/weewx/logging.md
/usr/share/doc/weewx/macos.htm
/usr/share/doc/weewx/readme.htm
/usr/share/doc/weewx/redhat.htm
/usr/share/doc/weewx/series_tags.md
/usr/share/doc/weewx/setup.htm
/usr/share/doc/weewx/suse.htm
/usr/share/doc/weewx/upgrading.htm
/usr/share/doc/weewx/usersguide.htm
/usr/share/doc/weewx/utilities.htm
/usr/share/doc/weewx/xtypes.md
/usr/share/weewx
/usr/share/weewx/__pycache__
/usr/share/weewx/__pycache__/daemon.cpython-39.pyc
/usr/share/weewx/__pycache__/six.cpython-39.pyc
/usr/share/weewx/daemon.py
/usr/share/weewx/schemas
/usr/share/weewx/schemas/__init__.py
/usr/share/weewx/schemas/__pycache__
/usr/share/weewx/schemas/__pycache__/__init__.cpython-39.pyc
/usr/share/weewx/schemas/__pycache__/wview_extended.cpython-39.pyc
/usr/share/weewx/schemas/wview.py
/usr/share/weewx/schemas/wview_extended.py
/usr/share/weewx/schemas/wview_small.py
/usr/share/weewx/six.py
/usr/share/weewx/user
/usr/share/weewx/user/__init__.py
/usr/share/weewx/user/__pycache__
/usr/share/weewx/user/__pycache__/__init__.cpython-39.pyc
/usr/share/weewx/user/__pycache__/extensions.cpython-39.pyc
/usr/share/weewx/user/extensions.py
/usr/share/weewx/wee_config
/usr/share/weewx/wee_database
/usr/share/weewx/wee_debug
/usr/share/weewx/wee_device
/usr/share/weewx/wee_extension
/usr/share/weewx/wee_import
/usr/share/weewx/wee_reports
/usr/share/weewx/weecfg
/usr/share/weewx/weecfg/__init__.py
/usr/share/weewx/weecfg/__pycache__
/usr/share/weewx/weecfg/__pycache__/__init__.cpython-39.pyc
/usr/share/weewx/weecfg/__pycache__/config.cpython-39.pyc
/usr/share/weewx/weecfg/config.py
/usr/share/weewx/weecfg/database.py
/usr/share/weewx/weecfg/extension.py
/usr/share/weewx/weedb
/usr/share/weewx/weedb/__init__.py
/usr/share/weewx/weedb/__pycache__
/usr/share/weewx/weedb/__pycache__/__init__.cpython-39.pyc
/usr/share/weewx/weedb/__pycache__/sqlite.cpython-39.pyc
/usr/share/weewx/weedb/mysql.py
/usr/share/weewx/weedb/sqlite.py
/usr/share/weewx/weeimport
/usr/share/weewx/weeimport/__init__.py
/usr/share/weewx/weeimport/csvimport.py
/usr/share/weewx/weeimport/cumulusimport.py
/usr/share/weewx/weeimport/wdimport.py
/usr/share/weewx/weeimport/weathercatimport.py
/usr/share/weewx/weeimport/weeimport.py
/usr/share/weewx/weeimport/wuimport.py
/usr/share/weewx/weeplot
/usr/share/weewx/weeplot/__init__.py
/usr/share/weewx/weeplot/genplot.py
/usr/share/weewx/weeplot/utilities.py
/usr/share/weewx/weeutil
/usr/share/weewx/weeutil/Moon.py
/usr/share/weewx/weeutil/Sun.py
/usr/share/weewx/weeutil/__init__.py
/usr/share/weewx/weeutil/__pycache__
/usr/share/weewx/weeutil/__pycache__/Moon.cpython-39.pyc
/usr/share/weewx/weeutil/__pycache__/Sun.cpython-39.pyc
/usr/share/weewx/weeutil/__pycache__/__init__.cpython-39.pyc
/usr/share/weewx/weeutil/__pycache__/config.cpython-39.pyc
/usr/share/weewx/weeutil/__pycache__/logger.cpython-39.pyc
/usr/share/weewx/weeutil/__pycache__/weeutil.cpython-39.pyc
/usr/share/weewx/weeutil/config.py
/usr/share/weewx/weeutil/ftpupload.py
/usr/share/weewx/weeutil/log.py
/usr/share/weewx/weeutil/logger.py
/usr/share/weewx/weeutil/rsyncupload.py
/usr/share/weewx/weeutil/timediff.py
/usr/share/weewx/weeutil/weeutil.py
/usr/share/weewx/weewx
/usr/share/weewx/weewx/__init__.py
/usr/share/weewx/weewx/__pycache__
/usr/share/weewx/weewx/__pycache__/__init__.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/accum.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/almanac.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/engine.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/manager.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/qc.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/restx.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/station.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/units.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/uwxutils.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/wxformulas.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/wxservices.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/wxxtypes.cpython-39.pyc
/usr/share/weewx/weewx/__pycache__/xtypes.cpython-39.pyc
/usr/share/weewx/weewx/accum.py
/usr/share/weewx/weewx/almanac.py
/usr/share/weewx/weewx/cheetahgenerator.py
/usr/share/weewx/weewx/crc16.py
/usr/share/weewx/weewx/defaults.py
/usr/share/weewx/weewx/drivers
/usr/share/weewx/weewx/drivers/__init__.py
/usr/share/weewx/weewx/drivers/__pycache__
/usr/share/weewx/weewx/drivers/__pycache__/__init__.cpython-39.pyc
/usr/share/weewx/weewx/drivers/__pycache__/simulator.cpython-39.pyc
/usr/share/weewx/weewx/drivers/acurite.py
/usr/share/weewx/weewx/drivers/cc3000.py
/usr/share/weewx/weewx/drivers/fousb.py
/usr/share/weewx/weewx/drivers/simulator.py
/usr/share/weewx/weewx/drivers/te923.py
/usr/share/weewx/weewx/drivers/ultimeter.py
/usr/share/weewx/weewx/drivers/vantage.py
/usr/share/weewx/weewx/drivers/wmr100.py
/usr/share/weewx/weewx/drivers/wmr300.py
/usr/share/weewx/weewx/drivers/wmr9x8.py
/usr/share/weewx/weewx/drivers/ws1.py
/usr/share/weewx/weewx/drivers/ws23xx.py
/usr/share/weewx/weewx/drivers/ws28xx.py
/usr/share/weewx/weewx/engine.py
/usr/share/weewx/weewx/filegenerator.py
/usr/share/weewx/weewx/imagegenerator.py
/usr/share/weewx/weewx/manager.py
/usr/share/weewx/weewx/qc.py
/usr/share/weewx/weewx/reportengine.py
/usr/share/weewx/weewx/restx.py
/usr/share/weewx/weewx/station.py
/usr/share/weewx/weewx/tags.py
/usr/share/weewx/weewx/units.py
/usr/share/weewx/weewx/uwxutils.py
/usr/share/weewx/weewx/wxengine.py
/usr/share/weewx/weewx/wxformulas.py
/usr/share/weewx/weewx/wxmanager.py
/usr/share/weewx/weewx/wxservices.py
/usr/share/weewx/weewx/wxxtypes.py
/usr/share/weewx/weewx/xtypes.py
/usr/share/weewx/weewxd
/usr/share/weewx/wunderfixer
/var/cache/apt/archives/weewx_4.5.1-1_all.deb
/var/lib/apt/lists/weewx.com_apt_python3_dists_buster_InRelease
/var/lib/apt/lists/weewx.com_apt_python3_dists_buster_main_binary-all_Packages.xz
/var/lib/dpkg/info/weewx.conffiles
/var/lib/dpkg/info/weewx.config
/var/lib/dpkg/info/weewx.list
/var/lib/dpkg/info/weewx.md5sums
/var/lib/dpkg/info/weewx.postinst
/var/lib/dpkg/info/weewx.postrm
/var/lib/dpkg/info/weewx.preinst
/var/lib/dpkg/info/weewx.prerm
/var/lib/dpkg/info/weewx.templates
/var/lib/weewx
/var/lib/weewx/weewx.sdb

p q

unread,
Sep 5, 2021, 9:32:03 AM9/5/21
to weewx...@googlegroups.com
Looking in weewx.conf under stdReport you can see htmlroot pointing at var/www/html/weewx
Your webserver needs to be able to open this directory and the files in it. Chances are its a permissions issue with it. The location of your weewx files is not a problem. 

Read up on lighttpd and see how to enable permissions. 

Andrew Terhorst

unread,
Sep 6, 2021, 9:24:36 AM9/6/21
to weewx-user
I tried reading up lighttpd and find it all rather bamboozling. As root user one should have permissions by default. I chmod -R 775 /var/www with no joy.

The weewx documentation is light on permissions for a basic debian install. It seems many weewx installations are in home directories, not as Debian root installs.

There are no tutorials explaining how to set up a Raspbian (Raspberry Pi OS) with weewx and lighttpd.

I am running the simulator for testing purposes. This is the lighttpd.conf file:

server.modules = (
    "mod_indexfile",
    "mod_access",
    "mod_alias",
     "mod_redirect",
)

server.document-root = "/var/www/"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80

# features
#https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_feature-flagsDetails
server.feature-flags       += ("server.h2proto" => "enable")
server.feature-flags       += ("server.h2c"     => "enable")
server.feature-flags       += ("server.graceful-shutdown-timeout" => 5)
#server.feature-flags       += ("server.graceful-restart-bg" => "enable")

# strict parsing and normalization of URL for consistency and security
# https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_http-parseoptsDetails
# (might need to explicitly set "url-path-2f-decode" = "disable"
#  if a specific application is encoding URLs inside url-path)
server.http-parseopts = (
  "header-strict"           => "enable",# default
  "host-strict"             => "enable",# default
  "host-normalize"          => "enable",# default
  "url-normalize-unreserved"=> "enable",# recommended highly
  "url-normalize-required"  => "enable",# recommended
  "url-ctrls-reject"        => "enable",# recommended
  "url-path-2f-decode"      => "enable",# recommended highly (unless breaks app)
 #"url-path-2f-reject"      => "enable",
  "url-path-dotseg-remove"  => "enable",# recommended highly (unless breaks app)
 #"url-path-dotseg-reject"  => "enable",
 #"url-query-20-plus"       => "enable",# consistency in query string
)

index-file.names            = ( "index.php", "index.html" )
url.access-deny             = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.conf.pl"
include "/etc/lighttpd/conf-enabled/*.conf"

#server.compat-module-load   = "disable"
server.modules += (
    "mod_dirlisting",
    "mod_staticfile",
)

p q

unread,
Sep 6, 2021, 11:54:35 AM9/6/21
to weewx...@googlegroups.com
Docs for lighttpd seem pretty good. Did you read this page? https://redmine.lighttpd.net/projects/lighttpd/wiki/TutorialConfiguration

Pay attention to server.document-root = "/var/www/servers/www.example.org/pages/"
That should probably point to /var/www/html/weewx/ 

But there may be more to it to enable permissions for external users to view html files. I didn't read it carefully.




--
Peter Quinn
(415)794-2264

vince

unread,
Sep 6, 2021, 12:21:51 PM9/6/21
to weewx-user
On Monday, September 6, 2021 at 6:24:36 AM UTC-7 andrew....@gmail.com wrote:
I tried reading up lighttpd and find it all rather bamboozling. As root user one should have permissions by default. I chmod -R 775 /var/www with no joy.

 
Weewx is not turnkey software that works one way and one way only.  You are expected to know how to customize the setup if you want to run a relatively rarely used web server like lighttpd or the many other ones out there to pick from.

I'd suggest trying a google for 'lighttpd forums' and checking out the forums for that web server specifically.


The weewx documentation is light on permissions for a basic debian install. It seems many weewx installations are in home directories, not as Debian root installs.



There are two ways to install.  The legacy 'setup.py' way puts everything in one /home/weewx directory.  The later pre-packaged packaged version puts things in the os-expected locations all through the filesystem.   The user gets to decide which way they want to go.

Where things go is also in the Users Guide at http://www.weewx.com/docs/usersguide.htm#Where_to_find_things

There are no tutorials explaining how to set up a Raspbian (Raspberry Pi OS) with weewx and lighttpd.


Please spend a little of the energy you spend complaining and write one and contribute it.   The docs cannot possibly be expected to handle all of the dozens of possible web server packages.  That's an unreasonable expectation.

 

Andrew Terhorst

unread,
Sep 7, 2021, 7:52:04 PM9/7/21
to weewx-user
Solved the problem. I had to chown and chmod permissions for the weewx folder in /var/www/html/weewx. Thanks to all for their helpful suggestions. The next challenge is to hook up my Vaisala WXT520 to the Raspberry Pi via serial data links on the GPIO. The USB cable is too expensive. I have a M12 connector cable and can borrow a configuration cable to get the Vaisala to speak RS232.
Reply all
Reply to author
Forward
0 new messages